Simpatico  v1.10
List of all members | Public Types | Public Member Functions
Util::Serializable Class Referenceabstract

Detailed Description

Abstract class for serializable objects.

This class defines an interface for serialization of objects. The save() method saves the internal state of an object to an archive, and the load() method loads the state from an archive.

The type of archive to be used is specified by the OArchive and IArchive typedefs. The two concrete classes that are referred to by these typedefs should be forward declared in this file, and the header files for these two classes must be included in the file Serializable_includes.h. The file Serializable_includes.h should be included in source files that implement that load and save methods for subclasses.

Definition at line 34 of file Serializable.h.

#include <Serializable.h>

Inheritance diagram for Util::Serializable:
Util::ParamComponent Util::Begin Util::Blank Util::End Util::ParamComposite Util::Parameter Util::AutoCorr< double, double > Util::AutoCorr< std::complex< double >, std::complex< double > > Util::AutoCorrArray< Util::Tensor, double > Util::AutoCorrArray< Util::Vector, double > Util::AutoCorrelation< Tensor, double > Util::AutoCorrelation< Util::Tensor, double > DdMd::Analyzer DdMd::AtomCollector DdMd::AtomDistributor DdMd::AtomStorage DdMd::Buffer DdMd::ConfigIo DdMd::Domain DdMd::GroupCollector< N > DdMd::GroupDistributor< N > DdMd::GroupStorage< N > DdMd::Integrator DdMd::Modifier DdMd::Potential DdMd::Simulation DdMd::GroupStorage< 2 > DdMd::GroupStorage< 3 > DdMd::GroupStorage< 4 > Util::Manager< Analyzer > Util::Manager< Command > Util::Manager< McMove > Util::Manager< Modifier > Util::Manager< Simp::Species > McMd::Analyzer McMd::AnglePotential McMd::BondPotential McMd::ColVar McMd::Command McMd::CvBias McMd::DihedralPotential McMd::ExternalPotential McMd::LinkMaster McMd::McMove McMd::McPairPotential McMd::MdCoulombPotential McMd::MdIntegrator McMd::MdPairPotential McMd::PairList McMd::Perturbation McMd::ReplicaMove McMd::Simulation McMd::SpecialPotential McMd::System Util::MeanSqDispArray< Util::Vector > Simp::BoundaryEnsemble Simp::BoxExternal Simp::CompensatedPair< BarePair, LinkPotential > Simp::CompositeBond< BareBond, BarePair > Simp::CosineAngle Simp::CosineDihedral Simp::CosineSqAngle Simp::DpdPair Simp::EnergyEnsemble Simp::EwaldInteraction Simp::FeneBond Simp::GeneralPeriodicExternal Simp::HarmonicAngle Simp::HarmonicBond Simp::HarmonicL0Bond Simp::LamellarOrderingExternal Simp::LJPair Simp::LocalLamellarOrderingExternal Simp::MultiHarmonicDihedral Simp::NucleationExternal Simp::OrthoBoxExternal Simp::PeriodicExternal Simp::SimplePeriodicExternal Simp::SlitExternal Simp::Species Simp::SpeciesEnsemble Simp::SphericalTabulatedExternal Tools::Analyzer Tools::ChainMaker Tools::ConfigReader Tools::Configuration Tools::ConfigWriter Tools::TrajectoryReader Util::AutoCorr< Data, Product > Util::AutoCorrArray< Data, Product > Util::AutoCorrelation< Data, Product > Util::Average Util::Distribution Util::FileMaster Util::IntDistribution Util::Manager< Data > Util::MeanSqDispArray< Data > Util::Random Util::SymmTensorAverage Util::TensorAverage Util::CArray2DParam< Type > Util::CArrayParam< Type > Util::DArrayParam< Type > Util::DMatrixParam< Type > Util::DSymmMatrixParam< Type > Util::FArrayParam< Type, N > Util::ScalarParam< Type >

Public Types

typedef BinaryFileOArchive OArchive
 Type of output archive used by save method. More...
 
typedef BinaryFileIArchive IArchive
 Type of input archive used by load method. More...
 

Public Member Functions

virtual ~Serializable ()
 Destructor. More...
 
virtual void save (OArchive &ar)=0
 Save to an archive. More...
 
virtual void load (IArchive &ar)=0
 Load from an archive. More...
 

Member Typedef Documentation

Type of output archive used by save method.

Definition at line 42 of file Serializable.h.

Type of input archive used by load method.

Definition at line 47 of file Serializable.h.

Constructor & Destructor Documentation

virtual Util::Serializable::~Serializable ( )
inlinevirtual

Destructor.

Definition at line 52 of file Serializable.h.

References load(), and save().

Member Function Documentation

virtual void Util::Serializable::save ( OArchive ar)
pure virtual

Save to an archive.

Parameters
arbinary saving (output) archive.

Implemented in DdMd::Buffer, Util::ParamComposite, Util::FileMaster, DdMd::Simulation, McMd::Simulation, Util::Parameter, Simp::Species, McMd::MdSimulation, McMd::McSimulation, McMd::IntraStructureFactor, McMd::StructureFactorP, DdMd::PairPotential, Util::Manager< Data >, Util::Manager< Command >, Util::Manager< Modifier >, Util::Manager< McMove >, Util::Manager< Analyzer >, Util::Manager< Simp::Species >, DdMd::Analyzer, McMd::VanHove, DdMd::VanHove, DdMd::AtomStorage, DdMd::StructureFactor, Simp::OrthoBoxExternal, DdMd::PairPotentialImpl< Interaction >, Simp::LocalLamellarOrderingExternal, DdMd::GroupStorage< N >, DdMd::GroupStorage< 2 >, DdMd::GroupStorage< 3 >, DdMd::GroupStorage< 4 >, Simp::BoxExternal, McMd::IntraStructureFactorGrid, McMd::BlockRadiusGyration, Simp::SlitExternal, McMd::ReplicaMove, Simp::LamellarOrderingExternal, Util::AutoCorrArray< Data, Product >, DdMd::StructureFactorGrid, Util::AutoCorrArray< Util::Vector, double >, Util::AutoCorrArray< Util::Tensor, double >, Simp::GeneralPeriodicExternal, Simp::NucleationExternal, Simp::PeriodicExternal, Simp::SimplePeriodicExternal, McMd::StructureFactorGrid, McMd::StructureFactorPGrid, McMd::PairList, DdMd::DihedralPotentialImpl< Interaction >, Util::AutoCorr< Data, Product >, Simp::MultiHarmonicDihedral, Util::AutoCorr< double, double >, Util::AutoCorr< std::complex< double >, std::complex< double > >, Util::Average, Simp::FeneBond, McMd::Analyzer, McMd::RadiusGyration, DdMd::BondPotentialImpl< Interaction >, DdMd::ExternalPotentialImpl< Interaction >, McMd::IntraPairAutoCorr, Simp::CosineDihedral, McMd::StructureFactor, McMd::MdPairPotentialImpl< Interaction >, Util::MeanSqDispArray< Data >, Simp::HarmonicBond, Simp::SphericalTabulatedExternal, McMd::CompositionProfile, DdMd::OrderParamNucleation, DdMd::Domain, Util::MeanSqDispArray< Util::Vector >, Simp::CosineAngle, Simp::HarmonicAngle, Simp::LJPair, McMd::IntraBondTensorAutoCorr< SystemType >, McMd::IntraBondTensorAutoCorr< MdSystem >, McMd::IntraBondTensorAutoCorr< McSystem >, Simp::CosineSqAngle, McMd::MdEwaldPotential, McMd::MdSpmePotential, McMd::MdEwaldPairPotentialImpl< Interaction >, Simp::HarmonicL0Bond, Util::Distribution, Util::TensorAverage, Simp::EwaldInteraction, Util::SymmTensorAverage, Util::Random, Simp::DpdPair, Util::IntDistribution, McMd::Command, DdMd::AnglePotentialImpl< Interaction >, McMd::NphIntegrator, McMd::Perturbation, McMd::DihedralPotentialImpl< Interaction >, DdMd::TrajectoryWriter, McMd::AnglePotentialImpl< Interaction >, McMd::ExternalPotentialImpl< Interaction >, McMd::McMuExchange, McMd::NvtDpdVvIntegrator, McMd::BondPotentialImpl< Interaction >, DdMd::SymmTensorAverageAnalyzer, DdMd::TensorAverageAnalyzer, Util::RadialDistribution, Simp::EnergyEnsemble, McMd::ClusterHistogram, McMd::RDF, McMd::MdMove, McMd::NvtNhIntegrator, DdMd::AverageAnalyzer, Simp::BoundaryEnsemble, McMd::McNVTChemicalPotential, McMd::NvtLangevinIntegrator, DdMd::EnergyAnalyzer, DdMd::ConfigWriter, McMd::McEnergyAnalyzer, McMd::MdEnergyAnalyzer, McMd::MdPairEnergyCoefficients, McMd::IntraBondStressAutoCorr< SystemType >, McMd::LinearRouseAutoCorr, McMd::CfbLinear, McMd::IntraBondStressAutoCorr< MdSystem >, McMd::IntraBondStressAutoCorr< McSystem >, Util::ParamComponent, McMd::BennettsMethod, McMd::DpdMove, McMd::McPairPotentialImpl< Interaction >, DdMd::NvtLangevinIntegrator, McMd::McMove, McMd::McMoveManager, McMd::RingRouseAutoCorr, McMd::HybridNphMdMove, McMd::McVirialStressTensorAverage, McMd::MdVirialStressTensorAverage, DdMd::AutoCorrAnalyzer< Data, Product >, DdMd::AutoCorrAnalyzer< Tensor, double >, McMd::ComMSD, McMd::ConfigWriter, DdMd::LogEnergy, DdMd::VirialStressTensorAverage, McMd::HybridMdMove, McMd::RingTetraRebridgeMove, McMd::McPairEnergyAverage, McMd::PressureAverage< SystemType >, McMd::StressAutoCorr< SystemType >, McMd::HarmonicCvBias, McMd::CfbRebridgeBase, McMd::CfbReptateMove, McMd::LinearSG, DdMd::OutputPairEnergies, DdMd::OutputPressure, DdMd::StressAutoCorr, DdMd::VirialStressTensor, McMd::PressureAverage< MdSystem >, McMd::PressureAverage< McSystem >, McMd::StressAutoCorr< MdSystem >, McMd::StressTensorAverage< SystemType >, McMd::LinearCvBias, McMd::EndSwapMove, McMd::CfbRingRebridgeMove, McMd::HomopolymerSG, DdMd::ExternalEnergyAverage, DdMd::OutputEnergy, DdMd::OutputTemperature, DdMd::PairEnergyAverage, DdMd::OutputBoxdim, DdMd::Integrator, McMd::CfbReptationMove, DdMd::OutputStressTensor, DdMd::NptIntegrator, McMd::AnalyzerManager, McMd::TypeDistribution, McMd::BondLengthDist, McMd::CfbRebridgeMove, DdMd::AnalyzerManager, DdMd::PairEnergyAnalyzer, McMd::CfbLinearEndMove, DdMd::NveIntegrator, Util::AutoCorrelation< Data, Product >, McMd::SemiGrandDistribution, McMd::AtomMSD, McMd::RigidDisplaceMove, McMd::CfbEndMove, McMd::RingOctaRebridgeMove, Util::AutoCorrelation< Tensor, double >, Util::AutoCorrelation< Util::Tensor, double >, McMd::McEnergyOutput, McMd::AverageAnalyzer< SystemType >, McMd::CfbDoubleRebridgeMove, DdMd::NvtIntegrator, McMd::AverageAnalyzer< McSystem >, McMd::MdEnergyOutput, McMd::MdKineticEnergyAverage, McMd::BoundaryAverage, McMd::NveVvIntegrator, DdMd::DdMdGroupTrajectoryWriter, DdMd::NphIntegrator, Simp::Homopolymer, McMd::MdPotentialEnergyAverage, McMd::PerturbDerivative, McMd::AtomDisplaceMove, McMd::LammpsDumpWriter, McMd::TrajectoryWriter, McMd::HomopolymerSemiGrandMove, Simp::HomoRing, Simp::Diblock, Simp::Multiblock, and Simp::Point.

Referenced by ~Serializable().

virtual void Util::Serializable::load ( IArchive ar)
pure virtual

The documentation for this class was generated from the following file: