Loading [MathJax]/extensions/tex2jax.js

Description

Functor to call the ArchiveIn function for unrelated classes that implemented them.

This helps stripping out the templating, to make ChArchiveIn easier and equippable with virtual functions.

#include <ChArchive.h>

Inherited by chrono::ChFunctorArchiveInSpecific< TClass >, and chrono::ChFunctorArchiveInSpecificPtr< TClass >.

Public Member Functions

virtual void CallArchiveIn (ChArchiveIn &archive_in, const std::string &classname)=0
 Use this to call member function ArchiveIn.
 
virtual void CallArchiveIn (ChArchiveIn &archive_in)=0
 
virtual void CallConstructor (ChArchiveIn &archive_in, const std::string &classname)=0
 Use this to call. More...
 
virtual void CallConstructorDefault (const std::string &classname)=0
 Use this to create a new object as pt2Object = new myclass(), but using the class factory for polymorphic classes. More...
 
virtual void SetRawPtr (void *mptr)=0
 Set the pointer (use static_cast)
 
virtual void * GetRawPtr ()=0
 Get the pointer (use static_cast)
 
virtual bool IsPolymorphic ()=0
 Tell if the pointed object is polymorphic.
 
virtual std::type_index GetObjectPtrTypeindex ()=0
 Get the classname of the object holding the ArchiveIn function.
 

Member Function Documentation

◆ CallConstructor()

virtual void chrono::ChFunctorArchiveIn::CallConstructor ( ChArchiveIn archive_in,
const std::string &  classname 
)
pure virtual

Use this to call.

  • the default constructor, or,
  • the constructor embedded in an (optional) static member function ArchiveInConstructor, if implemented The latter is expected to a) deserialize constructor parameters, b) create a new obj as pt2Object = new myclass(params..). If classname not registered, call default constructor via new(T) or call construction via T::ArchiveInConstructor()

◆ CallConstructorDefault()

virtual void chrono::ChFunctorArchiveIn::CallConstructorDefault ( const std::string &  classname)
pure virtual

Use this to create a new object as pt2Object = new myclass(), but using the class factory for polymorphic classes.

If classname not registered, creates simply via new(T).


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono/serialization/ChArchive.h