Advanced Strategic Command
Public Member Functions | List of all members
FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType > Class Template Reference

#include <factorywithnames.h>

Inheritance diagram for FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >:
Inheritance graph
[legend]

Public Member Functions

vector< NameType > getNames ()
 
IdentifierType getID (const ASCString &name)
 
bool registerClass (IdentifierType id, typename FactoryWithNames< AbstractProduct, IdentifierType, typename FactoryWithNames::ObjectCreatorCallBack, NameType >::ObjectCreatorCallBack createFn, Loki::Functor< NameType, LOKI_TYPELIST_1(const IdentifierType &)> nameProvider)
 
bool registerClass (IdentifierType id, typename FactoryWithNames< AbstractProduct, IdentifierType, typename FactoryWithNames::ObjectCreatorCallBack, NameType >::ObjectCreatorCallBack createFn, NameType name)
 
AbstractProduct * createObject (IdentifierType id)
 

Additional Inherited Members

- Protected Types inherited from Factory< AbstractProduct, IdentifierType >
typedef AbstractProduct *(* ObjectCreatorCallBack )()
 
- Protected Member Functions inherited from Factory< AbstractProduct, IdentifierType >
bool registerClass (IdentifierType id, ObjectCreatorCallBack createFn)
 
AbstractProduct * createObject (IdentifierType id)
 

Detailed Description

template<class AbstractProduct, typename IdentifierType, typename ObjectCreatorCallBack = AbstractProduct*(*)(), typename NameType = ASCString>
class FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >

Definition at line 33 of file factorywithnames.h.

Member Function Documentation

template<class AbstractProduct, typename IdentifierType, typename ObjectCreatorCallBack = AbstractProduct*(*)(), typename NameType = ASCString>
AbstractProduct* FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >::createObject ( IdentifierType  id)
inline
template<class AbstractProduct, typename IdentifierType, typename ObjectCreatorCallBack = AbstractProduct*(*)(), typename NameType = ASCString>
IdentifierType FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >::getID ( const ASCString name)
inline

Definition at line 47 of file factorywithnames.h.

template<class AbstractProduct, typename IdentifierType, typename ObjectCreatorCallBack = AbstractProduct*(*)(), typename NameType = ASCString>
vector<NameType> FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >::getNames ( )
inline

Definition at line 39 of file factorywithnames.h.

template<class AbstractProduct, typename IdentifierType, typename ObjectCreatorCallBack = AbstractProduct*(*)(), typename NameType = ASCString>
bool FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >::registerClass ( IdentifierType  id,
typename FactoryWithNames< AbstractProduct, IdentifierType, typename FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >::ObjectCreatorCallBack, NameType >::ObjectCreatorCallBack  createFn,
Loki::Functor< NameType, LOKI_TYPELIST_1(const IdentifierType &)>  nameProvider 
)
inline

Definition at line 52 of file factorywithnames.h.

template<class AbstractProduct, typename IdentifierType, typename ObjectCreatorCallBack = AbstractProduct*(*)(), typename NameType = ASCString>
bool FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >::registerClass ( IdentifierType  id,
typename FactoryWithNames< AbstractProduct, IdentifierType, typename FactoryWithNames< AbstractProduct, IdentifierType, ObjectCreatorCallBack, NameType >::ObjectCreatorCallBack, NameType >::ObjectCreatorCallBack  createFn,
NameType  name 
)
inline

Definition at line 57 of file factorywithnames.h.


The documentation for this class was generated from the following file: