Omnidome
Fulldome Mapping Software Toolkit
|
Registrar mixin class which holds flag of registered class, to be derived from T. More...
#include <factory.hpp>
Public Types | |
typedef REGISTRY | registry_type |
Typedef for registry. More... | |
typedef registry_type::key_type | key_type |
Gets key type from registry. More... | |
typedef registry_type::interface_type | interface_type |
Gets interface type from registry. More... | |
typedef registry_type::template typeinfo_type< T > | typeinfo_type |
Get type info type from registry. More... | |
Public Member Functions | |
registrar () | |
Constructor of registrar registeres the object if not already registered. More... | |
Data Fields | |
friend | registry_type |
Friend of registry so registry can access registrar's private functions. More... | |
Static Public Attributes | |
static registrar * | instance_ = registrar<T,R,ARGS...>::instance() |
This static instance is responsible for auto registration. More... | |
Private Member Functions | |
registrar & | operator= (const registrar &) |
Overload assignment operator so no copying is possible. More... | |
Static Private Member Functions | |
static bool | registered () |
The class is registered when the instance is not a null pointer. More... | |
static interface_type * | create (const ARGS &..._args) |
Create an instance of the interface and return raw pointer. More... | |
static decltype(typeinfo_type()()) | type_id () |
Return type id by calling the call operator of type info template. More... | |
static registrar * | instance () |
Holds the instance which cares about auto registration. More... | |
Registrar mixin class which holds flag of registered class, to be derived from T.
T | type of derived class |
REGISTRY | type of registry the registrar class uses |
...ARGS | Template parameter which comply to the constructor signature of the interface |
typedef registry_type::interface_type boostx::registrar< T, REGISTRY, ARGS >::interface_type |
Gets interface type from registry.
typedef registry_type::key_type boostx::registrar< T, REGISTRY, ARGS >::key_type |
Gets key type from registry.
typedef REGISTRY boostx::registrar< T, REGISTRY, ARGS >::registry_type |
Typedef for registry.
typedef registry_type::template typeinfo_type<T> boostx::registrar< T, REGISTRY, ARGS >::typeinfo_type |
Get type info type from registry.
|
inline |
Constructor of registrar registeres the object if not already registered.
|
inlinestaticprivate |
|
inlinestaticprivate |
Holds the instance which cares about auto registration.
|
inlineprivate |
|
inlinestaticprivate |
The class is registered when the instance is not a null pointer.
|
inlinestaticprivate |
Return type id by calling the call operator of type info template.
|
static |
This static instance is responsible for auto registration.
Our static instance.
friend boostx::registrar< T, REGISTRY, ARGS >::registry_type |
Friend of registry so registry can access registrar's private functions.