NeoPZ
Classes | Macros | Typedefs | Functions | Variables
Classes supporting persistency

Persistency within the PZ environment is implemented by deriving a class from the TPZSavable class and implementing the Read and Write method. More...

Classes

class  TPZMD5Stream
 Implements the interface to write and check MD5 files. Persistency. More...
 
class  TPZFileStream
 Implements reading from and writing to an ascii file. Persistency. More...
 
class  TPZRegisterClassId
 
class  TPZSavable
 This class defines the interface to save and restore objects from TPZStream objects. Persistency. More...
 
class  TPZRestoreClassBase
 
class  TPZRestoreClass< T >
 Implements an interface to register a class id and a restore function. Persistence. More...
 
class  TPZRestoreClassWithTranslator< T, TranslatorType >
 
class  TPZStream
 Defines the interface for saving and reading data. Persistency. More...
 

Macros

#define SAVEABLE_STR_NOTE(buf, str)
 
#define SAVEABLE_SKIP_NOTE(buf)
 

Typedefs

typedef TPZRestoreClassBaseTPZRestore_t
 Typedef of TPZRestore_t. More...
 

Functions

template<typename T >
 TPZRegisterClassId::TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId::TPZRegisterClassId ()=default
 
static std::set< TPZRestoreClassBase * > & TPZSavable::RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & TPZSavable::ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
 TPZSavable::TPZSavable ()
 
virtual TPZSavable::~TPZSavable ()
 
virtual int TPZSavable::ClassId () const =0
 Define the class id associated with the class. More...
 
virtual std::list< std::map< std::string, uint64_t > > TPZSavable::VersionHistory () const
 
virtual std::pair< std::string, uint64_t > TPZSavable::Version () const
 
static std::pair< std::string, uint64_t > TPZSavable::NeoPZVersion ()
 
virtual void TPZSavable::Write (TPZStream &buf, int withclassid) const
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
virtual void TPZSavable::Read (TPZStream &buf, void *context)
 read objects from the stream More...
 
virtual bool TPZSavable::Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool TPZSavable::Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
static void TPZSavable::Register (TPZRestoreClassBase *restore)
 
static void TPZSavable::RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableTPZSavable::CreateInstance (const int &classId)
 
virtual TPZSavableTPZRestoreClassBase::Restore ()=0
 
virtual TPZChunkTranslatorTPZRestoreClassBase::GetTranslator ()=0
 
 TPZRestoreClass< T >::TPZRestoreClass ()
 Constructor. More...
 
virtual TPZSavableTPZRestoreClass< T >::Restore ()
 Restores object from Map based in classid into the buf. More...
 
virtual TPZChunkTranslatorTPZRestoreClass< T >::GetTranslator ()
 
 TPZRestoreClassWithTranslator< T, TranslatorType >::TPZRestoreClassWithTranslator ()
 Constructor. More...
 
 TPZRestoreClassWithTranslator< T, TranslatorType >::~TPZRestoreClassWithTranslator ()
 
virtual TPZSavableTPZRestoreClassWithTranslator< T, TranslatorType >::Restore ()
 Restores object from Map based in classid into the buf. More...
 
virtual TPZChunkTranslatorTPZRestoreClassWithTranslator< T, TranslatorType >::GetTranslator ()
 

Variables

const int TPZSAVEABLEID
 Identifier as saveable object. More...
 
static TPZRestoreClass< T > TPZRestoreClass< T >::gRestoreObject
 
static TPZRestoreClassWithTranslator< T, TranslatorType > TPZRestoreClassWithTranslator< T, TranslatorType >::gRestoreObject
 
static TPZChunkTranslatorTPZRestoreClassWithTranslator< T, TranslatorType >::gTranslator
 

Detailed Description

Persistency within the PZ environment is implemented by deriving a class from the TPZSavable class and implementing the Read and Write method.

Persistency (a.k.a. Object Serialization) in PZ has been improved in order to make backward object level compatibility possible. Thus, it is possible to read objects of any class that were previously saved with its older versions. Class versioning is used to make sure old data can be further used properly.

For the improved serialization method to become effective, there are a few steps that need to be accomplished by a class developer when modifying a class attribute set or creating a new class.

Briefly, these are the necessary steps:

1) Write (or update if it already exists) a Translator class for a class that had changes in its attributes. This translator class must be able to read prior version objects saved in past.
2) Write the method UpdateAttributes (if it doesn't exist) in Translator class.
3) Write the method UpdateFromVx to make reading from last prior class version possible. This method will fit old data into the new class' attribute layout.
(x = last class version number prior to this new class version)
4) Write (or update if it already exists) the method UpdateStream in Translator class. This method must call UpdateFromVx accordingly and UpdateAttributes.

Macro Definition Documentation

◆ SAVEABLE_SKIP_NOTE

#define SAVEABLE_SKIP_NOTE (   buf)

◆ SAVEABLE_STR_NOTE

#define SAVEABLE_STR_NOTE (   buf,
  str 
)

The SAVEABLE NOTES are used to debug read and write operations on TPZSavable objects. Do not use it for other purposes. To enable it, define the DEBUG_SAVEABLE macro.

Definition at line 42 of file TPZSavable.h.

Referenced by main(), TPZDohrSubstructCondense< TTVar >::Write(), and TPZDohrMatrix< TVar, TSubStruct >::Write().

Typedef Documentation

◆ TPZRestore_t

Typedef of TPZRestore_t.

Definition at line 28 of file TPZSavable.h.

Function Documentation

◆ ClassId()

virtual int TPZSavable::ClassId ( ) const
pure virtual

Define the class id associated with the class.

This id has to be unique for all classes A non unique id is flagged at the startup of the program

Implemented in TPZFNMatrix< N, TVar >, TPZFNMatrix< 12, REAL >, TPZFNMatrix< 180 >, TPZFNMatrix< TGeo::NNodes *3, REAL >, TPZFNMatrix< 660, REAL >, TPZFNMatrix< 9, STATE >, TPZFNMatrix< 9, T >, TPZFNMatrix< 9, REAL >, TPZFNMatrix< 50, REAL >, TPZFNMatrix< Geo::Dimension *Geo::NNodes >, TPZFNMatrix< 6, STATE >, TPZFNMatrix< 1000, STATE >, TPZFNMatrix< 220, REAL >, TPZFNMatrix< 3, T >, TPZFNMatrix< 9 >, TPZFNMatrix< 3, STATE >, TPZFNMatrix< 30, std::complex< double > >, TPZMatrix< TVar >, TPZMatrix< REAL >, TPZMatrix< TTVar >, TPZMatrix< STATE >, TPZCompMesh, TPZMaterial, TPZSkylMatrix< TVar >, TPZEulerConsLaw, TPZMultiphase, TPZFMatrix< TVar >, TPZFMatrix< REAL >, TPZFMatrix< TTVar >, TPZFMatrix< int >, TPZFMatrix< T >, TPZFMatrix< std::complex< double > >, TPZFMatrix< STATE >, TPZBndCond, TPZCompElDisc, TPZSubCompMesh, TPZInterfaceElement, TPZMultiphysicsCompEl< TGeometry >, TPZGeoElSide, TPZMatMixedPoisson3D, TPZAnalysis, TPZRefPattern, TPZMatPoisson3d, TPZSwelling, TPZLagrangeMultiplier, TPZMixedElasticityMaterial, TPZElasticity3D, TPZCompElHDiv< TSHAPE >, TPZElementGroup, TPZMultiphysicsInterfaceElement, pzgeom::TPZArc3D, TPZMatLaplacian, TPZTensor< T >, TPZTensor< REAL >, TPZTensor< STATE >, TPZCondensedCompEl, TPZChunkVector< T, EXP >, TPZChunkVector< TPZGraphEl *, 10 >, TPZChunkVector< TPZGeoEl *, 10 >, TPZChunkVector< TPZGeoNode, 10 >, TPZChunkVector< TPZConnect, 10 >, TPZChunkVector< TPZCompEl *, 10 >, TPZChunkVector< TPZGraphNode, 10 >, TPZDiscontinuousGalerkin, TPZDummyFunction< TVar >, TPZConservationLaw, TPZElasticityMaterial, TPZAgglomerateElement, TPZMatRed< TVar, TSideMatrix >, TPZMatRed< STATE, TPZFMatrix< STATE > >, TPZMatRed< TVar, TPZFMatrix< TVar > >, TPZMatRed< TTVar, TPZFMatrix< TTVar > >, TPZCompElLagrange, TPZCoupledTransportDarcy, TPZBlock< TVar >::TNode, TPZVecL2, TPZMixedPoisson, TPZMatElastoPlastic< T, TMEM >, TPZPlasticStepPV< YC_t, ER_t >, TPZReducedSpace, TPZFYsmpMatrix< TVar >, TPZMatConvectionProblem, TPZBlock< TVar >, TPZBlock< STATE >, TPZGeoEl, TPZSYsmpMatrix< TVar >, TPZMatrixSolver< TVar >, TPZMatrixSolver< REAL >, TPZMatrixSolver< TTVar >, TPZMatrixSolver< STATE >, TPZRefPattern::TPZRefPatternPermute, TPZEulerEquation, TPZCompElHDivBound2< TSHAPE >, TPZMaterialData, TPZSpMatrix< TVar >, TPZL2Projection, pzshape::TPZShapePiram, TPZElasticityAxiMaterial, TPZCompElHDivPressure< TSHAPE >, TPZPostProcMat, TPZMatPorous< T, TMEM >, TPZDohrMatrix< TVar, TSubStruct >, TPZCoupledTransportDarcyBC, TPZSBMatrix< TVar >, TPZFrontNonSym< TVar >, TPZSkylNSymMatrix< TVar >, TPZNullMaterial, TPZIntelGen< TSHAPE >, pzgeom::TPZNodeRep< 6, pztopology::TPZTriangle >, pzgeom::TPZNodeRep< 13, pztopology::TPZPyramid >, pzgeom::TPZNodeRep< 8, pztopology::TPZCube >, pzgeom::TPZNodeRep< 6, pztopology::TPZPrism >, pzgeom::TPZNodeRep< 8, pztopology::TPZQuadrilateral >, pzgeom::TPZNodeRep< 3, pztopology::TPZTriangle >, pzgeom::TPZNodeRep< 10, pztopology::TPZTetrahedron >, pzgeom::TPZNodeRep< 1, pztopology::TPZPoint >, pzgeom::TPZNodeRep< 5, pztopology::TPZPyramid >, pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >, pzgeom::TPZNodeRep< 3, pztopology::TPZLine >, pzgeom::TPZNodeRep< 2, pztopology::TPZLine >, pzgeom::TPZNodeRep< 4, pztopology::TPZTetrahedron >, pzgeom::TPZNodeRep< 20, pztopology::TPZCube >, pzgeom::TPZNodeRep< 15, pztopology::TPZPrism >, TPZMatElastoPlastic2D< T, TMEM >, TPZFBMatrix< TVar >, TPZNonLinBiharmonic, TPZCompElHDivPressureBound< TSHAPE >, TPZSFMatrix< TVar >, TPZYCDruckerPrager, TPZBlockDiagonal< TVar >, TPZBlockDiagonal< STATE >, TPZIncNavierStokesKEps, pzgeom::TPZGeoTriangle, TFad< Num, T >, TPZFrontSym< TVar >, TPZYCWillamWarnke, TPZArtDiff, pzgeom::TPZGeoQuad, TPZTracerFlow, TPZStructMatrixOR, TPZGeoElRefPattern< TGeo >, TPZMat1dLin, TPZBurger, TPZAdmChunkVector< T, EXP >, TPZAdmChunkVector< TPZCompEl *>, TPZAdmChunkVector< TPZGeoNode >, TPZAdmChunkVector< TPZGraphNode >, TPZAdmChunkVector< TPZGraphEl *>, TPZAdmChunkVector< TPZConnect >, TPZAdmChunkVector< TPZGeoEl *>, TPZMat2dLin, TPZYCMohrCoulombPV, TPZMatPoisson3dReferred, TPZStepSolver< TVar >, TPZDohrPrecond< TVar, TSubStruct >, TPZNonLinearPoisson3d, TPZConnect, TPZMatHyperElastic, TPZMatDualHybridPoisson, TPZReynoldsFlow, TPZVerySparseMatrix< TVar >, TPZFileEqnStorage< TVar >, TPZThermicElast3D, TPZMatPlaca2, TPZPlaca, TPZGeoMesh, TPZViscoelastic, TPZMaterialTest3D, pzgeom::TPZGeoLinear, TPZPorousElasticCriterion, pzgeom::TPZGeoCube, TPZElasticity2DHybrid, TPZFrontMatrix< TVar, store, front >, pzgeom::TPZGeoPrism, TPZBndCond::TPZ_BCDefine, TPZSpaceTimeRichardsEq, TPZBCTension, TPZAnalysis::TTablePostProcess, TPZNLMat1d, TPZStructMatrixBase, TPZBiharmonic, TPZMultCamada, TPZTransform< T >, TPZSandlerExtended, TPZDualPoisson, TPZFunction< TVar >, TPZFunction< REAL >, TPZFunction< STATE >, TPZStackEqnStorage< TVar >, TPZConnect::TPZDepend, TPZMeshSolution, TPZPrimalPoisson, TPZStructMatrixOT, TPZFlowCompMesh, TPZInterpolatedElement, TPZStructMatrixCS, TPZStructMatrixTBBFlow, TPZPlasticState< T >, TPZLinearConvecDiff, TPZCompEl, TPZPlasticState< REAL >, TPZPlasticState< STATE >, TPZElasticityHybridMaterial, TPZMixedDarcyFlow, TPZPostProcAnalysis, TPZSkylParMatrix< TVar >, TPZGeoElSideIndex, TPZStructMatrixST, TPZFront< TVar >, TPZStructMatrixGC, TPZFront< STATE >, TPZStructMatrixGCTP, TPZCreateApproximationSpace, TPZCompMeshReferred, TPZMatElasticity2D, TPZGuiInterface, TPZGeoElement< TGeo, TRef >, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, TPZMatWithMem< TMEM >, TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >, TPZSubMeshAnalysis, TPZSequenceSolver< TVar >, TPZBndCondWithMem< TMEM >, TPZMGSolver< TVar >, TPZGeoNode, TPZElast3Dnlinear, TPZPorousElasticResponse, TPZSparseBlockDiagonal< TVar >, TPZGraphMesh, TPZMatTemporal, pztopology::TPZLine, TPZAbstractFrontMatrix< TVar >, pzgeom::TPZGeoPoint, pztopology::TPZCube, TPZDohrAssembly< TVar >, pztopology::TPZQuadrilateral, TPZDohrAssembly< STATE >, TPZParFrontMatrix< TVar, store, front >, pzrefine::TPZRefPoint, pztopology::TPZPoint, pztopology::TPZPyramid, pztopology::TPZTriangle, TPZGeoElRefLess< TGeo >, pztopology::TPZPrism, pztopology::TPZTetrahedron, pzrefine::TPZRefTetrahedra, TPZEquationFilter, TPZPermutation, TPZElasticCriterion, TPZLadeNelsonElasticResponse, TPZYCSandlerDimaggio, TPZPostProcVar, pzrefine::TPZRefPyramid, pzrefine::TPZRefCube, pzrefine::TPZRefPrism, pzrefine::TPZRefQuad, pzrefine::TPZRefLinear, TPZDohrSubstruct< TVar >, TPZPlasticStep< YC_t, TF_t, ER_t >, TPZMaterialCoupling, pzrefine::TPZRefTriangle, TPZSpStructMatrix, TPZRenumbering, TPZYCSandlerDimaggioL, TPZYCSandlerDimaggioL2, TPZMultPlaca, TPZElasticResponse, TPZGraphEl, pzgeom::TPZGeoTetrahedra, TPZYCLadeKim, TPZGraphNode, pzgeom::TPZEllipse3D, pzgeom::TPZQuadraticCube, pzgeom::TPZGeoPyramid, pzgeom::TPZQuadraticPyramid, pzgeom::TPZQuadraticQuad, pzgeom::TPZQuadraticTetra, TPZPoroElastoPlasticMem, TPZYCVonMises, pzgeom::TPZQuadraticPrism, pzgeom::TPZQuadraticTrig, pzgeom::TPZQuadTorus, pzgeom::TPZQuadraticLine, pzgeom::TPZTriangleTorus, TPZYCCamClayPV, TPZPorousElastoPlasticMem, pzshape::TPZShapePiramHdiv, TPZDohrSubstructCondense< TVar >, TPZDohrSubstructCondense< TTVar >, TPZBiharmonicEstimator, TPZYCDruckerPragerPV, TPZTransfer< TVar >, TPZEuler, TPZSolver< TVar >, TPZAgglomerateMesh, TPZSolver< REAL >, TPZSolver< TTVar >, TPZSolver< STATE >, pzgeom::TPZWavyLine, TPZBlockDiagonalStructMatrix, TPZThermoForceA, TPZYCModifiedMohrCoulomb, TPZYCMohrCoulomb, TPZYCTrescaRegularized, TPZPorousElasticity, TPZInterpolationSpace, TPBSpStructMatrix, TPZElastoPlasticMem, TPZLadeKimThermoForceA, TPZYCTresca, TPZYCVonMisesCombTresca, TPZPlasticBase, TPZSandlerDimaggioThermoForceA, and TPZLinearConvection.

Referenced by TPZSavable::Compare(), TPZPersistenceManager::OpenRead(), and TPZSavable::Write().

◆ ClassIdMap()

static std::map<int,TPZRestore_t>& TPZSavable::ClassIdMap ( )
inlinestatic

This static function guarantees that the gMap object is available when needed.

Definition at line 77 of file TPZSavable.h.

Referenced by TPZSavable::CreateInstance(), TPZPersistenceManager::OpenRead(), and TPZSavable::RegisterClassId().

◆ Compare() [1/2]

bool TPZSavable::Compare ( TPZSavable copy,
bool  override = false 
)
virtual

Compares the object for identity with the object pointed to, eventually copy the object.

Compare the object for identity with the object pointed to, eventually copy the object.

Compares both objects bitwise for identity. Put an entry in the log file if different overwrite
the calling object if the override flag is true

compare both objects bitwise for identity. Put an entry in the log file if different overwrite the calling object if the override flag is true

Reimplemented in TPZMatrix< TVar >, TPZMatrix< REAL >, TPZMatrix< TTVar >, TPZMatrix< STATE >, TPZFMatrix< TVar >, TPZFMatrix< REAL >, TPZFMatrix< TTVar >, TPZFMatrix< int >, TPZFMatrix< T >, TPZFMatrix< std::complex< double > >, TPZFMatrix< STATE >, and TPZMaterialData.

Definition at line 98 of file TPZSavable.cpp.

References TPZSavable::ClassId(), and LOGPZ_ERROR.

Referenced by TPZCheckConsistency::CheckObject().

◆ Compare() [2/2]

bool TPZSavable::Compare ( TPZSavable copy,
bool  override = false 
) const
virtual

Compares the object for identity with the object pointed to, eventually copy the object.

Compare the object for identity with the object pointed to, eventually copy the object.

Compares both objects bitwise for identity. Put an entry in the log file if different generate
an interrupt if the override flag is true

compare both objects bitwise for identity. Put an entry in the log file if different overwrite the calling object if the override flag is true

Reimplemented in TPZMatrix< TVar >, TPZMatrix< REAL >, TPZMatrix< TTVar >, TPZMatrix< STATE >, TPZFMatrix< TVar >, TPZFMatrix< REAL >, TPZFMatrix< TTVar >, TPZFMatrix< int >, TPZFMatrix< T >, TPZFMatrix< std::complex< double > >, TPZFMatrix< STATE >, and TPZMaterialData.

Definition at line 111 of file TPZSavable.cpp.

References TPZSavable::ClassId(), and LOGPZ_ERROR.

◆ CreateInstance()

TPZSavable * TPZSavable::CreateInstance ( const int &  classId)
static

◆ GetTranslator() [1/3]

virtual TPZChunkTranslator* TPZRestoreClassBase::GetTranslator ( )
pure virtual

◆ GetTranslator() [2/3]

template<class T>
virtual TPZChunkTranslator* TPZRestoreClass< T >::GetTranslator ( )
inlinevirtual

Implements TPZRestoreClassBase.

Definition at line 164 of file TPZSavable.h.

◆ GetTranslator() [3/3]

template<class T, class TranslatorType>
virtual TPZChunkTranslator* TPZRestoreClassWithTranslator< T, TranslatorType >::GetTranslator ( )
inlinevirtual

Implements TPZRestoreClassBase.

Definition at line 193 of file TPZSavable.h.

◆ NeoPZVersion()

std::pair< std::string, uint64_t > TPZSavable::NeoPZVersion ( )
static

Definition at line 43 of file TPZSavable.cpp.

Referenced by TPZPersistenceManager::CloseWrite(), and TPZSavable::Version().

◆ Read()

void TPZSavable::Read ( TPZStream buf,
void *  context 
)
virtual

read objects from the stream

Reimplemented in TPZFNMatrix< N, TVar >, TPZFNMatrix< 12, REAL >, TPZFNMatrix< 180 >, TPZFNMatrix< TGeo::NNodes *3, REAL >, TPZFNMatrix< 660, REAL >, TPZFNMatrix< 9, STATE >, TPZFNMatrix< 9, T >, TPZFNMatrix< 9, REAL >, TPZFNMatrix< 50, REAL >, TPZFNMatrix< Geo::Dimension *Geo::NNodes >, TPZFNMatrix< 6, STATE >, TPZFNMatrix< 1000, STATE >, TPZFNMatrix< 220, REAL >, TPZFNMatrix< 3, T >, TPZFNMatrix< 9 >, TPZFNMatrix< 3, STATE >, TPZFNMatrix< 30, std::complex< double > >, TPZMatrix< TVar >, TPZMatrix< REAL >, TPZMatrix< TTVar >, TPZMatrix< STATE >, TPZCompMesh, TPZMaterial, TPZCompEl, TPZPlasticStep< YC_t, TF_t, ER_t >, TPZSkylMatrix< TVar >, TPZEulerConsLaw, TPZBndCond, TPZFMatrix< TVar >, TPZFMatrix< REAL >, TPZFMatrix< TTVar >, TPZFMatrix< int >, TPZFMatrix< T >, TPZFMatrix< std::complex< double > >, TPZFMatrix< STATE >, TPZCompElDisc, TPZSubCompMesh, TPZInterfaceElement, TPZDohrMatrix< TVar, TSubStruct >, TPZDohrMatrix< TVar, TSubStruct >, TPZDohrMatrix< TVar, TSubStruct >, TPZDohrMatrix< TVar, TSubStruct >, TPZInterpolationSpace, TPZGeoElSide, TPZRefPattern, TPZMatPoisson3d, TPZConnect, TPZLagrangeMultiplier, TPZMixedElasticityMaterial, TPZCompElHDiv< TSHAPE >, TPZElasticity3D, TPZTensor< T >, TPZTensor< REAL >, TPZTensor< STATE >, TPZMatLaplacian, TPZChunkVector< T, EXP >, TPZChunkVector< TPZGraphEl *, 10 >, TPZChunkVector< TPZGeoEl *, 10 >, TPZChunkVector< TPZGeoNode, 10 >, TPZChunkVector< TPZConnect, 10 >, TPZChunkVector< TPZCompEl *, 10 >, TPZChunkVector< TPZGraphNode, 10 >, TPZDummyFunction< TVar >, TPZDiscontinuousGalerkin, pzgeom::TPZArc3D, TPZMatElasticity2D, TPZConservationLaw, TPZAgglomerateElement, TPZElasticityMaterial, TPZMatRed< TVar, TSideMatrix >, TPZMatRed< STATE, TPZFMatrix< STATE > >, TPZMatRed< TVar, TPZFMatrix< TVar > >, TPZMatRed< TTVar, TPZFMatrix< TTVar > >, TPZVecL2, TPZBlock< TVar >::TNode, TPZMatElastoPlastic< T, TMEM >, TPZPlasticStepPV< YC_t, ER_t >, TPZYCWillamWarnke, TPZBlock< TVar >, TPZBlock< STATE >, TPZGeoEl, TPZMatrixSolver< TVar >, TPZMatrixSolver< REAL >, TPZMatrixSolver< TTVar >, TPZMatrixSolver< STATE >, TPZCompElHDivBound2< TSHAPE >, TPZRefPattern::TPZRefPatternPermute, TPZPostProcMat, TPZCompElHDivPressure< TSHAPE >, pzgeom::TPZTriangleTorus, TPZMatPorous< T, TMEM >, TPZElasticityAxiMaterial, pzgeom::TPZWavyLine, TPZSkylNSymMatrix< TVar >, TPZMatElastoPlastic2D< T, TMEM >, TPZNullMaterial, TPZIntelGen< TSHAPE >, TPZCompElHDivPressureBound< TSHAPE >, TPZReducedSpace, pzgeom::TPZQuadTorus, TPZMaterialData, TPZDohrMatrix< TVar, TSubStruct >, TFad< Num, T >, TPZYCDruckerPrager, TPZAnalysis, TFad< Num, T >, TPZTracerFlow, pzgeom::TPZGeoTriangle, pzgeom::TPZGeoQuad, TPZMat2dLin, TPZStructMatrixOR, TPZGeoElRefPattern< TGeo >, TPZDohrSubstructCondense< TVar >, TPZDohrSubstructCondense< TTVar >, TPZArtDiff, TPZAdmChunkVector< T, EXP >, TPZAdmChunkVector< TPZCompEl *>, TPZAdmChunkVector< TPZGeoNode >, TPZAdmChunkVector< TPZGraphNode >, TPZAdmChunkVector< TPZGraphEl *>, TPZAdmChunkVector< TPZConnect >, TPZAdmChunkVector< TPZGeoEl *>, TPZDohrPrecond< TVar, TSubStruct >, TPZYCMohrCoulomb, TPZYCMohrCoulombPV, TPZStepSolver< TVar >, TPZReynoldsFlow, TPZMatDualHybridPoisson, TPZVerySparseMatrix< TVar >, TPZPorousElasticity, TPZGeoMesh, TPZDohrStructMatrix, TPZYCVonMises, TPZMaterialTest3D, TPZYCTresca, pzgeom::TPZNodeRep< 6, pztopology::TPZTriangle >, pzgeom::TPZNodeRep< 13, pztopology::TPZPyramid >, pzgeom::TPZNodeRep< 8, pztopology::TPZCube >, pzgeom::TPZNodeRep< 6, pztopology::TPZPrism >, pzgeom::TPZNodeRep< 8, pztopology::TPZQuadrilateral >, pzgeom::TPZNodeRep< 3, pztopology::TPZTriangle >, pzgeom::TPZNodeRep< 10, pztopology::TPZTetrahedron >, pzgeom::TPZNodeRep< 1, pztopology::TPZPoint >, pzgeom::TPZNodeRep< 5, pztopology::TPZPyramid >, pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >, pzgeom::TPZNodeRep< 3, pztopology::TPZLine >, pzgeom::TPZNodeRep< 2, pztopology::TPZLine >, pzgeom::TPZNodeRep< 4, pztopology::TPZTetrahedron >, pzgeom::TPZNodeRep< 20, pztopology::TPZCube >, pzgeom::TPZNodeRep< 15, pztopology::TPZPrism >, pzgeom::TPZGeoLinear, TPZViscoelastic, TPZElasticity2DHybrid, pzgeom::TPZGeoCube, pzgeom::TPZGeoPrism, TPZAnalysis::TTablePostProcess, TPZDualPoisson, TPZBndCond::TPZ_BCDefine, TPZTransform< T >, TPZFunction< TVar >, TPZFunction< REAL >, TPZFunction< STATE >, TPZGeoElRefLess< TGeo >, TPZStructMatrixBase, TPZSandlerExtended, TPZPrimalPoisson, TPZFlowCompMesh, TPZInterpolatedElement, TPZLinearConvecDiff, TPZConnect::TPZDepend, TPZStructMatrixOT, TPZMixedDarcyFlow, TPZPostProcAnalysis, TPZPlasticState< T >, TPZStructMatrixCS, TPZStructMatrixTBBFlow, TPZPlasticState< REAL >, TPZPlasticState< STATE >, TPZYCLadeKim, TPZGeoElSideIndex, TPZStructMatrixST, TPZYCSandlerDimaggio, TPZStructMatrixGC, TPZCompMeshReferred, TPZStructMatrixGCTP, TPZCreateApproximationSpace, TPZLadeNelsonElasticResponse, TPZYCTrescaRegularized, TPZElasticResponse, TPZYCVonMisesCombTresca, TPZGuiInterface, TPZElasticCriterion, TPZSandlerDimaggioThermoForceA, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, TPZMatWithMem< TMEM >, TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >, TPZThermoForceA, TPZGeoElement< TGeo, TRef >, TPZPorousElasticResponse, TPZBndCondWithMem< TMEM >, TPZSequenceSolver< TVar >, TPZMGSolver< TVar >, TPZGeoNode, TPZYCModifiedMohrCoulomb, TPZGraphMesh, TPZLadeKimThermoForceA, pztopology::TPZLine, pzgeom::TPZGeoPoint, TPZDohrAssembly< TVar >, pztopology::TPZCube, TPZDohrAssembly< STATE >, pztopology::TPZQuadrilateral, TPZPlasticBase, TPZEquationFilter, pztopology::TPZPoint, pztopology::TPZPyramid, pztopology::TPZTriangle, TPZPorousElastoPlasticMem, pztopology::TPZPrism, pztopology::TPZTetrahedron, TPZPorousElasticCriterion, TPZPermutation, TPZPostProcVar, TPZRenumbering, TPZGraphEl, pzgeom::TPZGeoTetrahedra, TPZPoroElastoPlasticMem, TPZElastoPlasticMem, TPZGraphNode, pzgeom::TPZGeoPyramid, TPZYCCamClayPV, and TPZYCDruckerPragerPV.

Definition at line 61 of file TPZSavable.cpp.

Referenced by TPZPersistenceManager::GetAutoPointer(), TPZPersistenceManager::GetInstance(), and TPZMatrixSolver< STATE >::Read().

◆ Register()

void TPZSavable::Register ( TPZRestoreClassBase restore)
static

◆ RegisterClassId()

void TPZSavable::RegisterClassId ( int  classid,
TPZRestore_t  fun 
)
static

◆ Restore() [1/3]

virtual TPZSavable* TPZRestoreClassBase::Restore ( )
pure virtual

◆ Restore() [2/3]

template<class T>
virtual TPZSavable* TPZRestoreClass< T >::Restore ( )
inlinevirtual

Restores object from Map based in classid into the buf.

Implements TPZRestoreClassBase.

Definition at line 159 of file TPZSavable.h.

◆ Restore() [3/3]

template<class T, class TranslatorType>
virtual TPZSavable* TPZRestoreClassWithTranslator< T, TranslatorType >::Restore ( )
inlinevirtual

Restores object from Map based in classid into the buf.

Implements TPZRestoreClassBase.

Definition at line 188 of file TPZSavable.h.

◆ RestoreClassSet()

static std::set<TPZRestoreClassBase*>& TPZSavable::RestoreClassSet ( )
inlinestatic

This static function guarantees that the gMap object is available when needed.

Definition at line 71 of file TPZSavable.h.

Referenced by TPZPersistenceManager::OpenRead(), and TPZSavable::Register().

◆ TPZRegisterClassId() [1/2]

template<typename T >
TPZRegisterClassId::TPZRegisterClassId ( int(T::*)()  const)
inline

Definition at line 54 of file TPZSavable.h.

References TPZRegisterClassId::TPZRegisterClassId().

◆ TPZRegisterClassId() [2/2]

TPZRegisterClassId::TPZRegisterClassId ( )
default

◆ TPZRestoreClass()

template<class T>
TPZRestoreClass< T >::TPZRestoreClass ( )
inline

Constructor.

Definition at line 154 of file TPZSavable.h.

References TPZSavable::Register().

◆ TPZRestoreClassWithTranslator()

template<class T, class TranslatorType>
TPZRestoreClassWithTranslator< T, TranslatorType >::TPZRestoreClassWithTranslator ( )
inline

Constructor.

Definition at line 181 of file TPZSavable.h.

References TPZSavable::Register().

◆ TPZSavable()

TPZSavable::TPZSavable ( )
inline

Definition at line 85 of file TPZSavable.h.

◆ Version()

std::pair< std::string, uint64_t > TPZSavable::Version ( ) const
virtual

Definition at line 39 of file TPZSavable.cpp.

References TPZSavable::NeoPZVersion().

Referenced by TPZPersistenceManager::ScheduleToWrite().

◆ VersionHistory()

std::list< std::map< std::string, uint64_t > > TPZSavable::VersionHistory ( ) const
virtual

Definition at line 22 of file TPZSavable.cpp.

Referenced by TPZPersistenceManager::OpenRead().

◆ Write()

void TPZSavable::Write ( TPZStream buf,
int  withclassid 
) const
virtual

Writes this object to the TPZStream buffer. Include the classid if withclassid = true.

Writes this object to the TPZStream buffer. Include the classid if withclassid = true

Reimplemented in TPZFNMatrix< N, TVar >, TPZFNMatrix< 12, REAL >, TPZFNMatrix< 180 >, TPZFNMatrix< TGeo::NNodes *3, REAL >, TPZFNMatrix< 660, REAL >, TPZFNMatrix< 9, STATE >, TPZFNMatrix< 9, T >, TPZFNMatrix< 9, REAL >, TPZFNMatrix< 50, REAL >, TPZFNMatrix< Geo::Dimension *Geo::NNodes >, TPZFNMatrix< 6, STATE >, TPZFNMatrix< 1000, STATE >, TPZFNMatrix< 220, REAL >, TPZFNMatrix< 3, T >, TPZFNMatrix< 9 >, TPZFNMatrix< 3, STATE >, TPZFNMatrix< 30, std::complex< double > >, TPZMatrix< TVar >, TPZMatrix< REAL >, TPZMatrix< TTVar >, TPZMatrix< STATE >, TPZCompMesh, TPZMaterial, TPZCompEl, TPZPlasticStep< YC_t, TF_t, ER_t >, TPZSkylMatrix< TVar >, TPZEulerConsLaw, TPZFMatrix< TVar >, TPZFMatrix< REAL >, TPZFMatrix< TTVar >, TPZFMatrix< int >, TPZFMatrix< T >, TPZFMatrix< std::complex< double > >, TPZFMatrix< STATE >, TPZBndCond, TPZCompElDisc, TPZDohrMatrix< TVar, TSubStruct >, TPZDohrMatrix< TVar, TSubStruct >, TPZDohrMatrix< TVar, TSubStruct >, TPZDohrMatrix< TVar, TSubStruct >, TPZSubCompMesh, TPZInterfaceElement, TPZInterpolationSpace, TPZGeoElSide, TPZRefPattern, TPZMatPoisson3d, TPZConnect, TPZLagrangeMultiplier, TPZMixedElasticityMaterial, TPZCompElHDiv< TSHAPE >, TPZElasticity3D, TPZTensor< T >, TPZTensor< REAL >, TPZTensor< STATE >, TPZMatLaplacian, TPZChunkVector< T, EXP >, TPZChunkVector< TPZGraphEl *, 10 >, TPZChunkVector< TPZGeoEl *, 10 >, TPZChunkVector< TPZGeoNode, 10 >, TPZChunkVector< TPZConnect, 10 >, TPZChunkVector< TPZCompEl *, 10 >, TPZChunkVector< TPZGraphNode, 10 >, pzgeom::TPZArc3D, TPZDiscontinuousGalerkin, TPZDummyFunction< TVar >, TPZMatElasticity2D, TPZConservationLaw, TPZElasticityMaterial, TPZAgglomerateElement, TPZMatRed< TVar, TSideMatrix >, TPZMatRed< STATE, TPZFMatrix< STATE > >, TPZMatRed< TVar, TPZFMatrix< TVar > >, TPZMatRed< TTVar, TPZFMatrix< TTVar > >, TPZBlock< TVar >::TNode, TPZVecL2, TPZMatElastoPlastic< T, TMEM >, TPZPlasticStepPV< YC_t, ER_t >, TPZBlock< TVar >, TPZBlock< STATE >, TPZGeoEl, TPZYCWillamWarnke, TPZMatrixSolver< TVar >, TPZMatrixSolver< REAL >, TPZMatrixSolver< TTVar >, TPZMatrixSolver< STATE >, TPZRefPattern::TPZRefPatternPermute, TPZCompElHDivBound2< TSHAPE >, pzgeom::TPZTriangleTorus, pzgeom::TPZWavyLine, TPZSkylNSymMatrix< TVar >, TPZElasticityAxiMaterial, TPZPostProcMat, TPZCompElHDivPressure< TSHAPE >, TPZMatPorous< T, TMEM >, TFad< Num, T >, TPZMatElastoPlastic2D< T, TMEM >, pzgeom::TPZQuadTorus, TPZDohrMatrix< TVar, TSubStruct >, TPZNullMaterial, TPZIntelGen< TSHAPE >, TPZCompElHDivPressureBound< TSHAPE >, TPZReducedSpace, TPZMaterialData, TFad< Num, T >, TPZYCDruckerPrager, TPZAdmChunkVector< T, EXP >, TPZAdmChunkVector< TPZCompEl *>, TPZAdmChunkVector< TPZGeoNode >, TPZAdmChunkVector< TPZGraphNode >, TPZAdmChunkVector< TPZGraphEl *>, TPZAdmChunkVector< TPZConnect >, TPZAdmChunkVector< TPZGeoEl *>, TPZAnalysis, pzgeom::TPZGeoTriangle, TPZDohrPrecond< TVar, TSubStruct >, pzgeom::TPZGeoQuad, TPZStructMatrixOR, TPZGeoElRefPattern< TGeo >, TPZMat2dLin, TPZYCMohrCoulombPV, TPZDohrSubstructCondense< TVar >, TPZDohrSubstructCondense< TTVar >, TPZArtDiff, TPZStepSolver< TVar >, TPZYCMohrCoulomb, TPZReynoldsFlow, TPZMatDualHybridPoisson, TPZVerySparseMatrix< TVar >, TPZGeoMesh, TPZYCTresca, pzgeom::TPZNodeRep< 6, pztopology::TPZTriangle >, pzgeom::TPZNodeRep< 13, pztopology::TPZPyramid >, pzgeom::TPZNodeRep< 8, pztopology::TPZCube >, pzgeom::TPZNodeRep< 6, pztopology::TPZPrism >, pzgeom::TPZNodeRep< 8, pztopology::TPZQuadrilateral >, pzgeom::TPZNodeRep< 3, pztopology::TPZTriangle >, pzgeom::TPZNodeRep< 10, pztopology::TPZTetrahedron >, pzgeom::TPZNodeRep< 1, pztopology::TPZPoint >, pzgeom::TPZNodeRep< 5, pztopology::TPZPyramid >, pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >, pzgeom::TPZNodeRep< 3, pztopology::TPZLine >, pzgeom::TPZNodeRep< 2, pztopology::TPZLine >, pzgeom::TPZNodeRep< 4, pztopology::TPZTetrahedron >, pzgeom::TPZNodeRep< 20, pztopology::TPZCube >, pzgeom::TPZNodeRep< 15, pztopology::TPZPrism >, TPZMaterialTest3D, TPZPorousElasticity, TPZDohrStructMatrix, TPZYCVonMises, pzgeom::TPZGeoLinear, TPZTransform< T >, TPZElasticity2DHybrid, pzgeom::TPZGeoPrism, pzgeom::TPZGeoCube, TPZViscoelastic, TPZBndCond::TPZ_BCDefine, TPZGeoElRefLess< TGeo >, TPZAnalysis::TTablePostProcess, TPZSandlerExtended, TPZStructMatrixBase, TPZDualPoisson, TPZPlasticState< T >, TPZPlasticState< REAL >, TPZPlasticState< STATE >, TPZFunction< TVar >, TPZFunction< REAL >, TPZFunction< STATE >, TPZPrimalPoisson, TPZConnect::TPZDepend, TPZStructMatrixOT, TPZFlowCompMesh, TPZInterpolatedElement, TPZStructMatrixCS, TPZStructMatrixTBBFlow, TPZLinearConvecDiff, TPZMixedDarcyFlow, TPZPostProcAnalysis, TPZGeoElSideIndex, TPZStructMatrixST, TPZStructMatrixGC, TPZElasticCriterion, TPZYCTrescaRegularized, TPZCreateApproximationSpace, TPZStructMatrixGCTP, TPZCompMeshReferred, TPZYCLadeKim, TPZYCSandlerDimaggio, TPZGuiInterface, TPZGeoElement< TGeo, TRef >, TPZGeoNode, TPZLadeNelsonElasticResponse, TPZYCVonMisesCombTresca, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, TPZMatWithMem< TMEM >, TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >, TPZSandlerDimaggioThermoForceA, TPZElasticResponse, TPZPorousElasticResponse, TPZBndCondWithMem< TMEM >, TPZSequenceSolver< TVar >, TPZThermoForceA, TPZMGSolver< TVar >, TPZGraphMesh, TPZEquationFilter, pzgeom::TPZGeoPoint, pztopology::TPZLine, TPZYCModifiedMohrCoulomb, pztopology::TPZCube, pztopology::TPZQuadrilateral, TPZDohrAssembly< TVar >, TPZDohrAssembly< STATE >, pztopology::TPZPoint, pztopology::TPZPyramid, pztopology::TPZTriangle, TPZLadeKimThermoForceA, TPZPlasticBase, TPZPorousElasticCriterion, pztopology::TPZPrism, pztopology::TPZTetrahedron, TPZPermutation, TPZPostProcVar, TPZPorousElastoPlasticMem, TPZRenumbering, pzgeom::TPZGeoTetrahedra, TPZGraphEl, TPZGraphNode, pzgeom::TPZGeoPyramid, TPZPoroElastoPlasticMem, TPZElastoPlasticMem, TPZYCCamClayPV, and TPZYCDruckerPragerPV.

Definition at line 47 of file TPZSavable.cpp.

References TPZSavable::ClassId(), and DebugStop.

Referenced by TPZMatrixSolver< STATE >::Write().

◆ ~TPZRestoreClassWithTranslator()

template<class T , class TranslatorType >
TPZRestoreClassWithTranslator< T, TranslatorType >::~TPZRestoreClassWithTranslator ( )

Definition at line 207 of file TPZSavable.h.

◆ ~TPZSavable()

virtual TPZSavable::~TPZSavable ( )
inlinevirtual

Definition at line 86 of file TPZSavable.h.

Variable Documentation

◆ gRestoreObject [1/2]

template<class T>
TPZRestoreClass< T > TPZRestoreClass< T >::gRestoreObject
staticprivate

Definition at line 169 of file TPZSavable.h.

◆ gRestoreObject [2/2]

template<class T, class TranslatorType>
TPZRestoreClassWithTranslator< T, TranslatorType > TPZRestoreClassWithTranslator< T, TranslatorType >::gRestoreObject
staticprivate

Definition at line 201 of file TPZSavable.h.

◆ gTranslator

template<class T, class TranslatorType>
TPZChunkTranslator * TPZRestoreClassWithTranslator< T, TranslatorType >::gTranslator
staticprivate

Definition at line 202 of file TPZSavable.h.

◆ TPZSAVEABLEID

const int TPZSAVEABLEID

Identifier as saveable object.

Definition at line 25 of file TPZSavable.h.