chrono::ChClassRegistrationBase Class Referenceabstract

Description

Base class for all registration data of classes whose objects can be created via a class factory.

#include <ChClassFactory.h>

Inheritance diagram for chrono::ChClassRegistrationBase:

Public Member Functions

virtual void * create ()=0
 The signature of create method for derived classes. Calls new().
 
virtual void * archive_in_create (ChArchiveIn &archive_in)=0
 Call the ArchiveInConstructor(ChArchiveIn&) function if available (deserializes constructor params and return new()), otherwise just call new().
 
virtual void archive_in (ChArchiveIn &archive_in, void *ptr)=0
 Call the ArchiveIn(ChArchiveIn&) function if available, populating an already existing object.
 
virtual void archive_out_constructor (ChArchiveOut &archive_out, void *ptr)=0
 
virtual void archive_out (ChArchiveOut &archive_out, void *ptr)=0
 
virtual std::type_index get_type_index ()=0
 Get the type_index of the class.
 
virtual std::string & get_tag_name ()=0
 Get the name used for registering.
 
virtual bool is_polymorphic ()=0
 Tells if the class is polymorphic.
 
virtual bool is_default_constructible ()=0
 Tells if the class is default constructible.
 
virtual bool is_abstract ()=0
 Tells if the class is abstract.
 
virtual bool has_ArchiveInConstructor ()=0
 Tells if it implements the function.
 
virtual bool has_ArchiveIn ()=0
 Tells if it implements the function.
 
virtual bool has_ArchiveOutConstructor ()=0
 Tells if it implements the function.
 
virtual bool has_ArchiveOut ()=0
 Tells if it implements the function.
 

Member Function Documentation

◆ archive_in()

virtual void chrono::ChClassRegistrationBase::archive_in ( ChArchiveIn & archive_in,
void * ptr )
pure virtual

Call the ArchiveIn(ChArchiveIn&) function if available, populating an already existing object.

Implemented in chrono::ChClassRegistration< t >.

◆ archive_in_create()

virtual void * chrono::ChClassRegistrationBase::archive_in_create ( ChArchiveIn & archive_in)
pure virtual

Call the ArchiveInConstructor(ChArchiveIn&) function if available (deserializes constructor params and return new()), otherwise just call new().

Implemented in chrono::ChClassRegistration< t >.

◆ create()

virtual void * chrono::ChClassRegistrationBase::create ( )
pure virtual

The signature of create method for derived classes. Calls new().

Implemented in chrono::ChClassRegistration< t >.

◆ get_tag_name()

virtual std::string & chrono::ChClassRegistrationBase::get_tag_name ( )
pure virtual

Get the name used for registering.

Implemented in chrono::ChClassRegistration< t >.

◆ get_type_index()

virtual std::type_index chrono::ChClassRegistrationBase::get_type_index ( )
pure virtual

Get the type_index of the class.

Implemented in chrono::ChClassRegistration< t >.

◆ has_ArchiveIn()

virtual bool chrono::ChClassRegistrationBase::has_ArchiveIn ( )
pure virtual

Tells if it implements the function.

Implemented in chrono::ChClassRegistration< t >.

◆ has_ArchiveInConstructor()

virtual bool chrono::ChClassRegistrationBase::has_ArchiveInConstructor ( )
pure virtual

Tells if it implements the function.

Implemented in chrono::ChClassRegistration< t >.

◆ has_ArchiveOut()

virtual bool chrono::ChClassRegistrationBase::has_ArchiveOut ( )
pure virtual

Tells if it implements the function.

Implemented in chrono::ChClassRegistration< t >.

◆ has_ArchiveOutConstructor()

virtual bool chrono::ChClassRegistrationBase::has_ArchiveOutConstructor ( )
pure virtual

Tells if it implements the function.

Implemented in chrono::ChClassRegistration< t >.

◆ is_abstract()

virtual bool chrono::ChClassRegistrationBase::is_abstract ( )
pure virtual

Tells if the class is abstract.

Implemented in chrono::ChClassRegistration< t >.

◆ is_default_constructible()

virtual bool chrono::ChClassRegistrationBase::is_default_constructible ( )
pure virtual

Tells if the class is default constructible.

Implemented in chrono::ChClassRegistration< t >.

◆ is_polymorphic()

virtual bool chrono::ChClassRegistrationBase::is_polymorphic ( )
pure virtual

Tells if the class is polymorphic.

Implemented in chrono::ChClassRegistration< t >.


The documentation for this class was generated from the following file:
  • C:/M/B/src/chrono-9.0.1/src/chrono/core/ChClassFactory.h