Bridge++  Ver. 2.0.2
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 ()
 
static void print (const char *tag=NULL)
 

Private Types

typedef std::map< IdentifierType, ProductCreator > Map
 

Private Member Functions

 FactoryTemplate ()
 
 FactoryTemplate (const FactoryTemplate &)
 
FactoryTemplateoperator= (const FactoryTemplate &)
 
virtual ~FactoryTemplate ()
 
void show_entries (const char *tag)
 

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

◆ Map

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

◆ FactoryTemplate() [1/2]

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

Definition at line 100 of file factory.h.

◆ FactoryTemplate() [2/2]

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

Definition at line 101 of file factory.h.

◆ ~FactoryTemplate()

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

Definition at line 104 of file factory.h.

Member Function Documentation

◆ append()

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

Definition at line 73 of file factory.h.

◆ create_instance()

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

Definition at line 106 of file factory.h.

◆ Find()

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

Definition at line 49 of file factory.h.

◆ find()

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

Definition at line 59 of file factory.h.

◆ Instance()

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

Definition at line 84 of file factory.h.

◆ operator=()

template<class AbstractProduct , typename ProductCreator >
FactoryTemplate& FactoryTemplate< AbstractProduct, ProductCreator >::operator= ( const FactoryTemplate< AbstractProduct, ProductCreator > &  )
private

◆ print()

template<class AbstractProduct , typename ProductCreator >
static void FactoryTemplate< AbstractProduct, ProductCreator >::print ( const char *  tag = NULL)
inlinestatic

Definition at line 129 of file factory.h.

◆ Register()

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.

◆ show_entries()

template<class AbstractProduct , typename ProductCreator >
void FactoryTemplate< AbstractProduct, ProductCreator >::show_entries ( const char *  tag)
inlineprivate

Definition at line 118 of file factory.h.

Member Data Documentation

◆ m_map

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

Definition at line 97 of file factory.h.

◆ s_instance

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: