16 #include <vlutil/vlString.h>
28 template <
typename T_CreationObject,
typename T_Key>
43 typedef T_CreationObject* (*DtCreatorFcn)();
66 virtual T_CreationObject*
createNew(
const T_Key& key)
const;
95 template <
typename T_CreationObject,
typename T_Key,
typename T_Arg>
110 typedef T_CreationObject* (*DtCreatorFcn)(T_Arg);
133 virtual T_CreationObject*
createNew(
const T_Key& key, T_Arg arg)
const;
158 #define factoryTemplate_inl_
159 #include "vrfutil/factoryTemplate.inl"
160 #undef factoryTemplate_inl_
virtual const DtCreatorMapType & creatorMap() const
bool alwaysWarnOnlyOnce() const
T_Key myTypeToCreate
Definition: factoryTemplate.h:113
virtual bool removeCreatorFcn(const T_Key &key)
Remove a creator function with the given key.
DtCreatorFcn myCreatorFcn
Definition: factoryTemplate.h:114
DtCreatorFcn myCreatorFcn
Definition: factoryTemplate.h:47
const DtFactoryTemplate & operator=(const DtFactoryTemplate &orig)
Not implemented.
static DtFactoryTemplate< T_CreationObject, T_Key > * create()
Template for factory classes that create an object (T_CreationObject) that is associated with a parti...
Definition: factoryTemplate.h:29
bool myAlwaysWarnOnlyOnce
Definition: factoryTemplate.h:154
virtual void setAlwaysWarnOnlyOnce(bool)
Whether or not to always warn only once, even if not registered. Default is true. ...
DtSingleArgFactoryTemplate()
constructor
const DtSingleArgFactoryTemplate & operator=(const DtSingleArgFactoryTemplate &orig)
Not implemented.
virtual DtString creationObjectName() const
DtCreatorMapType myCreatorMap
Definition: factoryTemplate.h:86
virtual T_CreationObject * createNew(const T_Key &key, T_Arg arg) const
Create and return a new instance of the type based on the creator functions and the type specified...
virtual bool isKeyRegistered(const T_Key &key) const
virtual void addCreatorFcn(const T_Key &key, DtCreatorFcn fcn)
Add a creator function to the factory.
DtFactoryTemplate()
constructor
virtual DtString creationObjectName() const
This template is similar to DtFactoryTemplate, but allows one argument to be passed to the creator fu...
Definition: factoryTemplate.h:96
std::map< T_Key, bool > myMessageWarningFilters
Definition: factoryTemplate.h:155
std::map< T_Key, DtFactoryTemplateEntry > DtCreatorMapType
Definition: factoryTemplate.h:50
bool alwaysWarnOnlyOnce() const
T_Key myTypeToCreate
Definition: factoryTemplate.h:46
Definition: factoryTemplate.h:45
virtual void setAlwaysWarnOnlyOnce(bool)
Whether or not to always warn only once, even if not registered. Default is true. ...
std::map< T_Key, bool > myMessageWarningFilters
Definition: factoryTemplate.h:88
static DtSingleArgFactoryTemplate< T_CreationObject, T_Key, T_Arg > * create()
virtual void addCreatorFcn(const T_Key &key, DtCreatorFcn fcn)
Add a creator function to the factory.
std::map< T_Key, DtSingleArgFactoryTemplateEntry > DtCreatorMapType
Definition: factoryTemplate.h:117
virtual bool isKeyRegistered(const T_Key &key) const
virtual const DtCreatorMapType & creatorMap() const
virtual bool removeCreatorFcn(const T_Key &key)
Remove a creator function with the given key.
Definition: factoryTemplate.h:112
virtual ~DtFactoryTemplate()
Destructor: deletes factory and any entries on the factory.
virtual ~DtSingleArgFactoryTemplate()
Destructor: deletes factory and any entries on the factory.
bool myAlwaysWarnOnlyOnce
Definition: factoryTemplate.h:87
DtCreatorMapType myCreatorMap
Definition: factoryTemplate.h:153
virtual T_CreationObject * createNew(const T_Key &key) const
Create and return a new instance of the type based on the creator functions and the type specified...