Description
class chrono::ChClassRegistration< t >
Macro to create a ChDetect_ArchiveInConstructor.
Macro to create a ChDetect_ArchiveOutConstructor that can be used in templates, to select which specialized template to use Macro to create a ChDetect_ArchiveOut that can be used in templates, to select which specialized template to use Macro to create a ChDetect_ArchiveIn that can be used in templates, to select which specialized template to use Macro to create a ChDetect_ArchiveContainerName that can be used in templates, to select which specialized template to use Class for registration data of classes whose objects can be created via a class factory.
#include <ChClassFactory.h>


Public Member Functions | |
ChClassRegistration (const char *mtag_name) | |
Creator (adds this to the global list of ChClassRegistration<t> objects). | |
virtual | ~ChClassRegistration () |
Destructor (removes this from the global list of ChClassRegistration<t> objects). | |
virtual void * | create () override |
The signature of create method for derived classes. Calls new(). | |
virtual void * | archive_in_create (ChArchiveIn &archive_in) override |
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) override |
Call the ArchiveIn(ChArchiveIn&) function if available, populating an already existing object. | |
virtual void | archive_out_constructor (ChArchiveOut &archive_out, void *ptr) override |
virtual void | archive_out (ChArchiveOut &archive_out, void *ptr) override |
virtual std::type_index | get_type_index () override |
Get the type_index of the class. | |
virtual std::string & | get_tag_name () override |
Get the name used for registering. | |
virtual bool | is_polymorphic () override |
Tells if the class is polymorphic. | |
virtual bool | is_default_constructible () override |
Tells if the class is default constructible. | |
virtual bool | is_abstract () override |
Tells if the class is abstract. | |
virtual bool | has_ArchiveInConstructor () override |
Tells if it implements the function. | |
virtual bool | has_ArchiveIn () override |
Tells if it implements the function. | |
virtual bool | has_ArchiveOutConstructor () override |
Tells if it implements the function. | |
virtual bool | has_ArchiveOut () override |
Tells if it implements the function. | |
![]() |
Protected Member Functions | |
template<class Tc = t> | |
enable_if< std::is_default_constructible< Tc >::value, void * >::type | _create () |
template<class Tc = t> | |
enable_if<!std::is_default_constructible< Tc >::value, void * >::type | _create () |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveInConstructor< Tc >::value, void * >::type | _archive_in_create (ChArchiveIn &archive_in) |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveInConstructor< Tc >::value, void * >::type | _archive_in_create (ChArchiveIn &archive_in) |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveIn< Tc >::value, void >::type | _archive_in (ChArchiveIn &archive_in, void *ptr) |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveIn< Tc >::value, void >::type | _archive_in (ChArchiveIn &archive_in, void *ptr) |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveOut< Tc >::value, void >::type | _archive_out (ChArchiveOut &archive_out, void *ptr) |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveOut< Tc >::value, void >::type | _archive_out (ChArchiveOut &archive_out, void *ptr) |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveOutConstructor< Tc >::value, void >::type | _archive_out_constructor (ChArchiveOut &archive_out, void *ptr) |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveOutConstructor< Tc >::value, void >::type | _archive_out_constructor (ChArchiveOut &archive_out, void *ptr) |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveInConstructor< Tc >::value, bool >::type | _has_ArchiveInConstructor () |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveInConstructor< Tc >::value, bool >::type | _has_ArchiveInConstructor () |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveIn< Tc >::value, bool >::type | _has_ArchiveIn () |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveIn< Tc >::value, bool >::type | _has_ArchiveIn () |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveOutConstructor< Tc >::value, bool >::type | _has_ArchiveOutConstructor () |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveOutConstructor< Tc >::value, bool >::type | _has_ArchiveOutConstructor () |
template<class Tc = t> | |
enable_if< ChDetect_ArchiveOut< Tc >::value, bool >::type | _has_ArchiveOut () |
template<class Tc = t> | |
enable_if<!ChDetect_ArchiveOut< Tc >::value, bool >::type | _has_ArchiveOut () |
std::string & | _get_tag_name () |
Protected Attributes | |
std::string | m_sTagName |
Name of the class for dynamic creation. | |
Member Function Documentation
◆ archive_in()
|
inlineoverridevirtual |
Call the ArchiveIn(ChArchiveIn&) function if available, populating an already existing object.
Implements chrono::ChClassRegistrationBase.
◆ archive_in_create()
|
inlineoverridevirtual |
Call the ArchiveInConstructor(ChArchiveIn&) function if available (deserializes constructor params and return new()), otherwise just call new().
Implements chrono::ChClassRegistrationBase.
◆ archive_out()
|
inlineoverridevirtual |
Implements chrono::ChClassRegistrationBase.
◆ archive_out_constructor()
|
inlineoverridevirtual |
Implements chrono::ChClassRegistrationBase.
◆ create()
|
inlineoverridevirtual |
The signature of create method for derived classes. Calls new().
Implements chrono::ChClassRegistrationBase.
◆ get_tag_name()
|
inlineoverridevirtual |
Get the name used for registering.
Implements chrono::ChClassRegistrationBase.
◆ get_type_index()
|
inlineoverridevirtual |
Get the type_index of the class.
Implements chrono::ChClassRegistrationBase.
◆ has_ArchiveIn()
|
inlineoverridevirtual |
Tells if it implements the function.
Implements chrono::ChClassRegistrationBase.
◆ has_ArchiveInConstructor()
|
inlineoverridevirtual |
Tells if it implements the function.
Implements chrono::ChClassRegistrationBase.
◆ has_ArchiveOut()
|
inlineoverridevirtual |
Tells if it implements the function.
Implements chrono::ChClassRegistrationBase.
◆ has_ArchiveOutConstructor()
|
inlineoverridevirtual |
Tells if it implements the function.
Implements chrono::ChClassRegistrationBase.
◆ is_abstract()
|
inlineoverridevirtual |
Tells if the class is abstract.
Implements chrono::ChClassRegistrationBase.
◆ is_default_constructible()
|
inlineoverridevirtual |
Tells if the class is default constructible.
Implements chrono::ChClassRegistrationBase.
◆ is_polymorphic()
|
inlineoverridevirtual |
Tells if the class is polymorphic.
Implements chrono::ChClassRegistrationBase.
The documentation for this class was generated from the following file:
- C:/M/B/src/chrono-9.0.1/src/chrono/core/ChClassFactory.h