Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType > Class Template Reference
[Generic Factories]

#include <at_factory.h>

Inheritance diagram for at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >:

Inheritance graph
[legend]
Collaboration diagram for at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::map< const w_KeyType *,
t_MapEntry, t_EntryCompare
t_MapType
typedef t_MapType::iterator t_MapIterator

Public Methods

w_CreatorType * Find (const w_KeyType &i_key)
void RegisterInsert (w_CreatorType *i_factory)

Static Public Methods

FactoryRegister & Get ()
w_CreatorType::CreateWrapper Create (const w_KeyType &i_key, StatusReport *o_srep=0, FactoryTraits::FactoryCreateReportingOption i_option=FactoryTraits::AllwaysReturn)

Public Attributes

t_MapType m_map

Detailed Description

template<typename w_InterfaceType, typename w_KeyType = DKy, typename w_CreatorType = Creator0P< w_InterfaceType, w_KeyType >>
class at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >

This is a registry for all factories that implement a specific interface and constructor signature. The key type to find a given entry is also part of the given definition.


Member Typedef Documentation

template<typename w_InterfaceType, typename w_KeyType = DKy, typename w_CreatorType = Creator0P< w_InterfaceType, w_KeyType >>
typedef t_MapType::iterator at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >::t_MapIterator
 

template<typename w_InterfaceType, typename w_KeyType = DKy, typename w_CreatorType = Creator0P< w_InterfaceType, w_KeyType >>
typedef std::map< const w_KeyType *, t_MapEntry, t_EntryCompare > at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >::t_MapType
 

t_MapType is the map type to store various maps. t_MapIterator is the iterator


Member Function Documentation

template<typename w_InterfaceType, typename w_KeyType = DKy, typename w_CreatorType = Creator0P< w_InterfaceType, w_KeyType >>
w_CreatorType::CreateWrapper at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >::Create const w_KeyType &    i_key,
StatusReport   o_srep = 0,
FactoryTraits::FactoryCreateReportingOption    i_option = FactoryTraits::AllwaysReturn
[inline, static]
 

Create a w_CreatorType::CreateWrapper object. This allows passing all the constructor parameters to this object.

Parameters:
i_key 
Returns:
w_CreatorType::CreateWrapper object.

template<typename w_InterfaceType, typename w_KeyType = DKy, typename w_CreatorType = Creator0P< w_InterfaceType, w_KeyType >>
w_CreatorType* at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >::Find const w_KeyType &    i_key [inline]
 

Find will find a factory entry in the registry.

template<typename w_InterfaceType, typename w_KeyType = DKy, typename w_CreatorType = Creator0P< w_InterfaceType, w_KeyType >>
void at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >::RegisterInsert w_CreatorType *    i_factory [inline]
 

RegisterInsert inserts a factory into the registry.

Parameters:
i_factory  is a pointer to the factory to be inserted
Returns:
nothing


Member Data Documentation

template<typename w_InterfaceType, typename w_KeyType = DKy, typename w_CreatorType = Creator0P< w_InterfaceType, w_KeyType >>
t_MapType at::FactoryRegister< w_InterfaceType, w_KeyType, w_CreatorType >::m_map
 

m_map contains the map of factories.


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

Generated for Austria by doxygen and MakeXS at Sun Oct 24 17:35:34 PDT 2004