Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FactoryTemplate< AbstractProduct, ProductCreator > Class Template Reference

#include <factory.h>

Public Member Functions

ProductCreator find (const IdentifierType &subtype)
 
bool append (const IdentifierType &subtype, ProductCreator creator)
 

Static Public Member Functions

static ProductCreator Find (const IdentifierType &subtype)
 
static bool Register (const IdentifierType &subtype, ProductCreator creator)
 
static FactoryTemplateInstance ()
 

Private Types

typedef std::map
< IdentifierType,
ProductCreator > 
Map
 

Private Member Functions

 FactoryTemplate ()
 
 FactoryTemplate (const FactoryTemplate &)
 
FactoryTemplateoperator= (const FactoryTemplate &)
 
virtual ~FactoryTemplate ()
 

Static Private Member Functions

static void create_instance ()
 

Private Attributes

Map m_map
 

Static Private Attributes

static FactoryTemplates_instance = 0
 

Detailed Description

template<class AbstractProduct, typename ProductCreator>
class FactoryTemplate< AbstractProduct, ProductCreator >

Definition at line 42 of file factory.h.

Member Typedef Documentation

template<class AbstractProduct, typename ProductCreator>
typedef std::map<IdentifierType, ProductCreator> FactoryTemplate< AbstractProduct, ProductCreator >::Map
private

Definition at line 45 of file factory.h.

Constructor & Destructor Documentation

template<class AbstractProduct, typename ProductCreator>
FactoryTemplate< AbstractProduct, ProductCreator >::FactoryTemplate ( )
inlineprivate

Definition at line 100 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
FactoryTemplate< AbstractProduct, ProductCreator >::FactoryTemplate ( const FactoryTemplate< AbstractProduct, ProductCreator > &  )
inlineprivate

Definition at line 101 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
virtual FactoryTemplate< AbstractProduct, ProductCreator >::~FactoryTemplate ( )
inlineprivatevirtual

Definition at line 104 of file factory.h.

Member Function Documentation

template<class AbstractProduct, typename ProductCreator>
bool FactoryTemplate< AbstractProduct, ProductCreator >::append ( const IdentifierType subtype,
ProductCreator  creator 
)
inline

Definition at line 73 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
static void FactoryTemplate< AbstractProduct, ProductCreator >::create_instance ( )
inlinestaticprivate

Definition at line 106 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
static ProductCreator FactoryTemplate< AbstractProduct, ProductCreator >::Find ( const IdentifierType subtype)
inlinestatic

Definition at line 49 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
ProductCreator FactoryTemplate< AbstractProduct, ProductCreator >::find ( const IdentifierType subtype)
inline

Definition at line 59 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
static FactoryTemplate& FactoryTemplate< AbstractProduct, ProductCreator >::Instance ( )
inlinestatic

Definition at line 84 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
FactoryTemplate& FactoryTemplate< AbstractProduct, ProductCreator >::operator= ( const FactoryTemplate< AbstractProduct, ProductCreator > &  )
private
template<class AbstractProduct, typename ProductCreator>
static bool FactoryTemplate< AbstractProduct, ProductCreator >::Register ( const IdentifierType subtype,
ProductCreator  creator 
)
inlinestatic

Definition at line 54 of file factory.h.

Member Data Documentation

template<class AbstractProduct, typename ProductCreator>
Map FactoryTemplate< AbstractProduct, ProductCreator >::m_map
private

Definition at line 97 of file factory.h.

template<class AbstractProduct, typename ProductCreator>
FactoryTemplate< AbstractProduct, ProductCreator > * FactoryTemplate< AbstractProduct, ProductCreator >::s_instance = 0
staticprivate

Definition at line 113 of file factory.h.


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