.TH "sc::SavableState" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::SavableState \- Base class for objects that can save/restore state\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::DescribedClass\fP\&. .PP Inherited by \fBsc::AccumH\fP\fC [virtual]\fP, \fBsc::AngularIntegrator\fP\fC [virtual]\fP, \fBsc::AtomInfo\fP, \fBsc::Convergence\fP\fC [virtual]\fP, \fBsc::Debugger\fP, \fBsc::DenFunctional\fP\fC [virtual]\fP, \fBsc::DenIntegrator\fP\fC [virtual]\fP, \fBsc::Function\fP\fC [virtual]\fP, \fBsc::GaussianBasisSet\fP, \fBsc::GaussianShell\fP, \fBsc::HessianUpdate\fP\fC [virtual]\fP, \fBsc::IntCoor\fP, \fBsc::IntCoorGen\fP, \fBsc::Integral\fP, \fBsc::IntegrationWeight\fP\fC [virtual]\fP, \fBsc::MOIndexSpace\fP\fC [virtual]\fP, \fBsc::MOIntsTransformFactory\fP\fC [virtual]\fP, \fBsc::MolecularCoor\fP, \fBsc::MolecularFrequencies\fP, \fBsc::MolecularHessian\fP\fC [virtual]\fP, \fBsc::Molecule\fP, \fBsc::MP2R12Energy\fP\fC [virtual]\fP, \fBsc::Optimize\fP\fC [virtual]\fP, \fBsc::OverlapOrthog\fP\fC [virtual]\fP, \fBsc::PointGroup\fP, \fBsc::R12IntEval\fP\fC [virtual]\fP, \fBsc::R12IntEvalInfo\fP\fC [virtual]\fP, \fBsc::R12IntsAcc\fP\fC [virtual]\fP, \fBsc::RadialIntegrator\fP\fC [virtual]\fP, \fBsc::SCBlockInfo\fP, \fBsc::SCDimension\fP, \fBsc::SCElementOp\fP, \fBsc::SCElementOp2\fP, \fBsc::SCElementOp3\fP, \fBsc::SCExtrapData\fP, \fBsc::SCExtrapError\fP, \fBsc::SCMatrixBlock\fP, \fBsc::SCMatrixBlockList\fP, \fBsc::SelfConsistentExtrapolation\fP, \fBsc::SetIntCoor\fP, \fBsc::ShellPairCints\fP\fC [virtual]\fP, \fBsc::ShellPairsCints\fP\fC [virtual]\fP, \fBsc::TwoBodyGrid\fP\fC [virtual]\fP, \fBsc::TwoBodyMOIntsTransform\fP\fC [virtual]\fP, and \fBsc::Units\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBSavableState\fP & \fBoperator=\fP (const \fBSavableState\fP &)" .br .ti -1c .RI "void \fBsave_state\fP (\fBStateOut\fP &)" .br .RI "Save the state of the object as specified by the \fBStateOut\fP object\&. " .ti -1c .RI "void \fBsave_object_state\fP (\fBStateOut\fP &)" .br .RI "This can be used for saving state when the exact type of the object is known for both the save and the restore\&. " .ti -1c .RI "virtual void \fBsave_vbase_state\fP (\fBStateOut\fP &)" .br .RI "Save the virtual bases for the object\&. " .ti -1c .RI "virtual void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static void \fBsave_state\fP (\fBSavableState\fP *s, \fBStateOut\fP &)" .br .ti -1c .RI "static \fBSavableState\fP * \fBrestore_state\fP (\fBStateIn\fP &si)" .br .RI "Restores objects saved with save_state\&. " .ti -1c .RI "static \fBSavableState\fP * \fBkey_restore_state\fP (\fBStateIn\fP &si, const char *keyword)" .br .RI "Like restore_state, but keyword is used to override values while restoring\&. " .ti -1c .RI "static \fBSavableState\fP * \fBdir_restore_state\fP (\fBStateIn\fP &si, const char *objectname, const char *keyword=0)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fBSavableState\fP (const \fBSavableState\fP &)" .br .ti -1c .RI "\fBSavableState\fP (\fBStateIn\fP &)" .br .RI "Each derived class \fBStateIn\fP CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above\&. " .in -1c .SH "Detailed Description" .PP Base class for objects that can save/restore state\&. .SH "Constructor & Destructor Documentation" .PP .SS "sc::SavableState::SavableState (\fBStateIn\fP &)\fC [protected]\fP" .PP Each derived class \fBStateIn\fP CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above\&. All derived class \fBStateIn\fP& constructors must invoke the \fBSavableState(StateIn&)\fP constructor\&. .SH "Member Function Documentation" .PP .SS "static \fBSavableState\fP* sc::SavableState::restore_state (\fBStateIn\fP & si)\fC [static]\fP" .PP Restores objects saved with save_state\&. The exact type of the next object in si can be any type publically derived from the \fBSavableState\fP\&. Derived classes implement a similar static function that returns a pointer to the derived class\&. If the objectname is given the directory will be consulted to find and restore that object\&. .SS "virtual void sc::SavableState::save_data_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. This must be implemented by the derived class if the class has data\&. .PP Reimplemented in \fBsc::PointGroup\fP, \fBsc::Units\fP, \fBsc::SCMatrixBlock\fP, \fBsc::AtomInfo\fP, \fBsc::Debugger\fP, \fBsc::SCElementDot\fP, \fBsc::SCElementKNorm\fP, \fBsc::SCElementSumAbs\fP, \fBsc::SCElementMinAbs\fP, \fBsc::SCElementMaxAbs\fP, \fBsc::SCElementShiftDiagonal\fP, \fBsc::SCElementScaleDiagonal\fP, \fBsc::SCElementInvert\fP, \fBsc::SCElementSquareRoot\fP, \fBsc::SCElementAssign\fP, \fBsc::SCElementRandomize\fP, \fBsc::SCElementScale\fP, \fBsc::SCDestructiveElementProduct\fP, \fBsc::SCElementScalarProduct\fP, \fBsc::SCDimension\fP, \fBsc::SCBlockInfo\fP, \fBsc::SCMatrixDiagSubBlock\fP, \fBsc::SCMatrixDiagBlock\fP, \fBsc::SCMatrixLTriSubBlock\fP, \fBsc::SCMatrixLTriBlock\fP, \fBsc::SCMatrixRectSubBlock\fP, \fBsc::SCMatrixRectBlock\fP, \fBsc::SCVectorSimpleSubBlock\fP, \fBsc::SCVectorSimpleBlock\fP, \fBsc::SCMatrixBlockList\fP, \fBsc::PowellUpdate\fP, \fBsc::BFGSUpdate\fP, \fBsc::DFPUpdate\fP, \fBsc::HessianUpdate\fP, \fBsc::SteepestDescentOpt\fP, \fBsc::SymmSCMatrixSCExtrapError\fP, \fBsc::SymmSCMatrixNSCExtrapData\fP, \fBsc::SymmSCMatrix4SCExtrapData\fP, \fBsc::SymmSCMatrix2SCExtrapData\fP, \fBsc::SymmSCMatrixSCExtrapData\fP, \fBsc::SelfConsistentExtrapolation\fP, \fBsc::SCExtrapError\fP, \fBsc::SCExtrapData\fP, \fBsc::QNewtonOpt\fP, \fBsc::LineOpt\fP, \fBsc::Optimize\fP, \fBsc::NewtonOpt\fP, \fBsc::GDIISOpt\fP, \fBsc::Function\fP, \fBsc::EFCOpt\fP, \fBsc::DIIS\fP, \fBsc::Convergence\fP, \fBsc::Wavefunction\fP, \fBsc::BEMSolventH\fP, \fBsc::HCoreWfn\fP, \fBsc::OneBodyWavefunction\fP, \fBsc::ExtendedHuckelWfn\fP, \fBsc::SumAccumH\fP, \fBsc::AccumHNull\fP, \fBsc::AccumH\fP, \fBsc::UnrestrictedSCF\fP, \fBsc::UHF\fP, \fBsc::TCSCF\fP, \fBsc::TCHF\fP, \fBsc::SCF\fP, \fBsc::OSSSCF\fP, \fBsc::OSSHF\fP, \fBsc::HSOSSCF\fP, \fBsc::HSOSHF\fP, \fBsc::CLSCF\fP, \fBsc::CLHF\fP, \fBsc::PsiCCSD_T\fP, \fBsc::PsiCCSD\fP, \fBsc::PsiSCF\fP, \fBsc::PsiWavefunction\fP, \fBsc::R12IntEvalInfo\fP, \fBsc::TwoBodyGrid\fP, \fBsc::TwoBodyMOIntsTransform\fP, \fBsc::TwoBodyMOIntsTransform_ixjy\fP, \fBsc::TwoBodyMOIntsTransform_ikjy\fP, \fBsc::TwoBodyMOIntsTransform_ijxy\fP, \fBsc::MOIntsTransformFactory\fP, \fBsc::R12IntEval\fP, \fBsc::R12IntsAcc_Node0File\fP, \fBsc::R12IntsAcc_MPIIOFile_Ind\fP, \fBsc::R12IntsAcc_MPIIOFile\fP, \fBsc::R12IntsAcc_MemoryGrp\fP, \fBsc::R12IntsAcc\fP, \fBsc::MP2R12Energy\fP, \fBsc::MOIndexSpace\fP, \fBsc::MBPT2_R12\fP, \fBsc::MP2BasisExtrap\fP, \fBsc::MBPT2\fP, \fBsc::IntegralV3\fP, \fBsc::IntegralCCA\fP, \fBsc::UKS\fP, \fBsc::RadialAngularIntegrator\fP, \fBsc::GaussLegendreAngularIntegrator\fP, \fBsc::LebedevLaikovIntegrator\fP, \fBsc::EulerMaclaurinRadialIntegrator\fP, \fBsc::AngularIntegrator\fP, \fBsc::RadialIntegrator\fP, \fBsc::BeckeIntegrationWeight\fP, \fBsc::IntegrationWeight\fP, \fBsc::DenIntegrator\fP, \fBsc::HSOSKS\fP, \fBsc::G96XFunctional\fP, \fBsc::mPW91XFunctional\fP, \fBsc::PW91XFunctional\fP, \fBsc::PBEXFunctional\fP, \fBsc::PW86XFunctional\fP, \fBsc::LYPCFunctional\fP, \fBsc::Becke88XFunctional\fP, \fBsc::XalphaFunctional\fP, \fBsc::PZ81LCFunctional\fP, \fBsc::PW92LCFunctional\fP, \fBsc::VWN5LCFunctional\fP, \fBsc::VWN4LCFunctional\fP, \fBsc::VWN3LCFunctional\fP, \fBsc::VWN2LCFunctional\fP, \fBsc::VWN1LCFunctional\fP, \fBsc::VWNLCFunctional\fP, \fBsc::SlaterXFunctional\fP, \fBsc::NewP86CFunctional\fP, \fBsc::P86CFunctional\fP, \fBsc::PW91CFunctional\fP, \fBsc::PBECFunctional\fP, \fBsc::LSDACFunctional\fP, \fBsc::StdDenFunctional\fP, \fBsc::SumDenFunctional\fP, \fBsc::NElFunctional\fP, \fBsc::DenFunctional\fP, \fBsc::CLKS\fP, \fBsc::ShellPairsCints\fP, \fBsc::ShellPairCints\fP, \fBsc::IntegralCints\fP, \fBsc::OverlapOrthog\fP, \fBsc::Integral\fP, \fBsc::GaussianShell\fP, \fBsc::GaussianBasisSet\fP, \fBsc::TaylorMolecularEnergy\fP, \fBsc::SimpleCo\fP, \fBsc::MolecularFrequencies\fP, \fBsc::Molecule\fP, \fBsc::DiagMolecularHessian\fP, \fBsc::GuessMolecularHessian\fP, \fBsc::ReadMolecularHessian\fP, \fBsc::MolecularHessian\fP, \fBsc::FinDispMolecularHessian\fP, \fBsc::MolEnergyConvergence\fP, \fBsc::SumMolecularEnergy\fP, \fBsc::MolecularEnergy\fP, \fBsc::CartMolecularCoor\fP, \fBsc::RedundMolecularCoor\fP, \fBsc::SymmMolecularCoor\fP, \fBsc::IntMolecularCoor\fP, \fBsc::MolecularCoor\fP, \fBsc::IntCoorGen\fP, \fBsc::SetIntCoor\fP, \fBsc::SumIntCoor\fP, and \fBsc::IntCoor\fP\&. .SS "void sc::SavableState::save_object_state (\fBStateOut\fP &)" .PP This can be used for saving state when the exact type of the object is known for both the save and the restore\&. To restore objects saved in this way the user must directly invoke the object's \fBStateIn\fP& constructor\&. .SS "void sc::SavableState::save_state (\fBStateOut\fP &)" .PP Save the state of the object as specified by the \fBStateOut\fP object\&. This routine saves the state of the object (which includes the nonvirtual bases), the virtual bases, and type information\&. The default implementation should be adequate\&. .SS "virtual void sc::SavableState::save_vbase_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the virtual bases for the object\&. This must be done in the same order that the ctor initializes the virtual bases\&. This does not include the \fBDescribedClass\fP and \fBSavableState\fP virtual base classes\&. This must be implemented by the user if the class has other virtual bases\&. (These virtual bases must come after \fBSavableState\fP, if \fBSavableState\fP is virtual\&.) .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.