![]() |
Scarab
v3.9.4
Project 8 C++ Utility Library
|
#include <indexed_factory.hh>
Public Types | |
typedef std::map< XIndexType, const base_registrar< XBaseType > *> | FactoryMap |
typedef FactoryMap::value_type | FactoryEntry |
typedef FactoryMap::iterator | FactoryIt |
typedef FactoryMap::const_iterator | FactoryCIt |
Public Member Functions | |
XBaseType * | create (const XIndexType &a_index) |
XBaseType * | create (const FactoryCIt &iter) |
void | register_class (const XIndexType &a_index, const base_registrar< XBaseType > *base_registrar) |
bool | has_class (const XIndexType &a_index) const |
void | remove_class (const XIndexType &a_index) |
const base_registrar< XBaseType > * | get_registrar (const XIndexType &a_index) const |
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 > * | get_instance () |
static void | kill_instance () |
static indexed_factory< XIndexType, XBaseType > * | create_instance (x_args... args) |
![]() | |
static std::mutex | f_mutex |
Definition at line 135 of file indexed_factory.hh.
typedef FactoryMap::const_iterator FactoryCIt |
Definition at line 141 of file indexed_factory.hh.
typedef FactoryMap::value_type FactoryEntry |
Definition at line 139 of file indexed_factory.hh.
typedef FactoryMap::iterator FactoryIt |
Definition at line 140 of file indexed_factory.hh.
typedef std::map< XIndexType, const base_registrar< XBaseType >* > FactoryMap |
Definition at line 138 of file indexed_factory.hh.
|
protected |
Definition at line 363 of file indexed_factory.hh.
|
protected |
Definition at line 369 of file indexed_factory.hh.
indexed_factory< XIndexType, XBaseType, void >::FactoryCIt begin | ( | ) | const |
Definition at line 375 of file indexed_factory.hh.
XBaseType * create | ( | const XIndexType & | a_index | ) |
Definition at line 306 of file indexed_factory.hh.
XBaseType * create | ( | const FactoryCIt & | iter | ) |
Definition at line 299 of file indexed_factory.hh.
indexed_factory< XIndexType, XBaseType, void >::FactoryCIt end | ( | ) | const |
Definition at line 382 of file indexed_factory.hh.
const base_registrar< XBaseType > * get_registrar | ( | const XIndexType & | a_index | ) | const |
Definition at line 357 of file indexed_factory.hh.
bool has_class | ( | const XIndexType & | a_index | ) | const |
Definition at line 342 of file indexed_factory.hh.
void register_class | ( | const XIndexType & | a_index, |
const base_registrar< XBaseType > * | base_registrar | ||
) |
Definition at line 325 of file indexed_factory.hh.
void remove_class | ( | const XIndexType & | a_index | ) |
Definition at line 348 of file indexed_factory.hh.
|
friend |
Definition at line 161 of file indexed_factory.hh.
|
friend |
Definition at line 161 of file indexed_factory.hh.
|
protected |
Definition at line 158 of file indexed_factory.hh.
|
protected |
Definition at line 157 of file indexed_factory.hh.