![]() |
Scarab
v3.4.1
Project 8 C++ Utility Library
|
#include <indexed_factory.hh>
Public Types | |
typedef std::map< XIndexType, const base_registrar< XBaseType, XArgs... > *> | FactoryMap |
typedef FactoryMap::value_type | FactoryEntry |
typedef FactoryMap::iterator | FactoryIt |
typedef FactoryMap::const_iterator | FactoryCIt |
Public Member Functions | |
XBaseType * | create (const XIndexType &a_index, XArgs ... args) |
XBaseType * | create (const FactoryCIt &iter, XArgs ... args) |
void | register_class (const XIndexType &a_index, const base_registrar< XBaseType, XArgs... > *base_registrar) |
bool | has_class (const XIndexType &a_index) const |
void | remove_class (const XIndexType &a_index) |
FactoryCIt | begin () const |
FactoryCIt | end () const |
Protected Member Functions | |
indexed_factory () | |
~indexed_factory () | |
![]() | |
singleton () | |
~singleton () | |
Protected Attributes | |
FactoryMap * | fMap |
std::mutex | f_factory_mutex |
Friends | |
class | scarab::singleton< indexed_factory > |
class | scarab::destroyer< indexed_factory > |
Additional Inherited Members | |
![]() | |
static indexed_factory< XIndexType, XBaseType, XArgs... > * | get_instance () |
static void | kill_instance () |
static indexed_factory< XIndexType, XBaseType, XArgs... > * | create_instance (x_args... args) |
![]() | |
static std::mutex | f_mutex |
Definition at line 36 of file indexed_factory.hh.
typedef FactoryMap::const_iterator FactoryCIt |
Definition at line 77 of file indexed_factory.hh.
typedef FactoryMap::value_type FactoryEntry |
Definition at line 75 of file indexed_factory.hh.
typedef FactoryMap::iterator FactoryIt |
Definition at line 76 of file indexed_factory.hh.
typedef std::map< XIndexType, const base_registrar< XBaseType, XArgs... >* > FactoryMap |
Definition at line 74 of file indexed_factory.hh.
|
protected |
Definition at line 227 of file indexed_factory.hh.
|
protected |
Definition at line 233 of file indexed_factory.hh.
indexed_factory< XIndexType, XBaseType, XArgs... >::FactoryCIt begin | ( | ) | const |
Definition at line 239 of file indexed_factory.hh.
XBaseType * create | ( | const XIndexType & | a_index, |
XArgs ... | args | ||
) |
Definition at line 177 of file indexed_factory.hh.
XBaseType * create | ( | const FactoryCIt & | iter, |
XArgs ... | args | ||
) |
Definition at line 170 of file indexed_factory.hh.
indexed_factory< XIndexType, XBaseType, XArgs... >::FactoryCIt end | ( | ) | const |
Definition at line 246 of file indexed_factory.hh.
bool has_class | ( | const XIndexType & | a_index | ) | const |
Definition at line 212 of file indexed_factory.hh.
void register_class | ( | const XIndexType & | a_index, |
const base_registrar< XBaseType, XArgs... > * | base_registrar | ||
) |
Definition at line 196 of file indexed_factory.hh.
void remove_class | ( | const XIndexType & | a_index | ) |
Definition at line 218 of file indexed_factory.hh.
|
friend |
Definition at line 95 of file indexed_factory.hh.
|
friend |
Definition at line 95 of file indexed_factory.hh.
|
mutableprotected |
Definition at line 92 of file indexed_factory.hh.
|
protected |
Definition at line 91 of file indexed_factory.hh.