Simpatico
v1.10
|
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>
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... | |
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.
|
inlinevirtual |
|
pure virtual |
Save to an archive.
ar | binary 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().
|
pure virtual |
Load from an archive.
ar | binary loading (input) archive. |
Implemented in Util::ParamComposite, Util::Parameter, McMd::McNVTChemicalPotential, Util::ParamComponent, Util::AutoCorrelation< Data, Product >, Util::AutoCorrelation< Tensor, double >, and Util::AutoCorrelation< Util::Tensor, double >.
Referenced by ~Serializable().