Description
template<class t>
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. | |
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/core/ChClassFactory.h