19 #ifndef TRINITY_FACTORY_HOLDER
20 #define TRINITY_FACTORY_HOLDER
28 template<
class T,
class Key = std::
string>
42 virtual T*
Create(
void *data =
NULL)
const = 0;
56 virtual int Permit(
const T *)
const = 0;
FactoryHolder(Key k)
Definition: FactoryHolder.h:34
virtual T * Create(void *data=NULL) const =0
Abstract Factory create method.
Definition: ObjectRegistry.h:31
Key i_key
Definition: FactoryHolder.h:44
Definition: FactoryHolder.h:29
arena_t NULL
Definition: jemalloc_internal.h:624
virtual ~Permissible()
Definition: FactoryHolder.h:55
static ObjectRegistry< T, Key > * instance()
Definition: ObjectRegistry.h:36
ObjectRegistry< FactoryHolder< T, Key >, Key > FactoryHolderRegistry
Definition: FactoryHolder.h:32
virtual int Permit(const T *) const =0
void RegisterSelf(void)
Definition: FactoryHolder.h:38
Definition: FactoryHolder.h:52
void DeregisterSelf(void)
Definition: FactoryHolder.h:39
Key key() const
Definition: FactoryHolder.h:36
virtual ~FactoryHolder()
Definition: FactoryHolder.h:35