OpenLexocad  27.1
Base::Factory< BaseClassType, UniqueIdType > Class Template Reference

#include <Factory.h>

Public Types

typedef std::map< UniqueIdType, CreateObjectFunc >::const_iterator ConstIterator
 
typedef std::map< UniqueIdType, CreateObjectFunc >::iterator Iterator
 

Public Member Functions

template<typename ClassType >
bool Register (UniqueIdType unique_id)
 
bool Unregister (UniqueIdType unique_id)
 
BaseClassType * Create (UniqueIdType unique_id)
 
ConstIterator GetBegin () const
 
Iterator GetBegin ()
 
ConstIterator GetEnd () const
 
Iterator GetEnd ()
 

Protected Types

typedef BaseClassType *(* CreateObjectFunc) ()
 

Protected Attributes

std::map< UniqueIdType, CreateObjectFuncm_object_creator
 

Member Typedef Documentation

◆ ConstIterator

template<typename BaseClassType, typename UniqueIdType>
typedef std::map<UniqueIdType, CreateObjectFunc>::const_iterator Base::Factory< BaseClassType, UniqueIdType >::ConstIterator

◆ CreateObjectFunc

template<typename BaseClassType, typename UniqueIdType>
typedef BaseClassType*(* Base::Factory< BaseClassType, UniqueIdType >::CreateObjectFunc) ()
protected

◆ Iterator

template<typename BaseClassType, typename UniqueIdType>
typedef std::map<UniqueIdType, CreateObjectFunc>::iterator Base::Factory< BaseClassType, UniqueIdType >::Iterator

Member Function Documentation

◆ Create()

template<typename BaseClassType, typename UniqueIdType>
BaseClassType* Base::Factory< BaseClassType, UniqueIdType >::Create ( UniqueIdType  unique_id)
inline

◆ GetBegin() [1/2]

template<typename BaseClassType, typename UniqueIdType>
ConstIterator Base::Factory< BaseClassType, UniqueIdType >::GetBegin ( ) const
inline

◆ GetBegin() [2/2]

template<typename BaseClassType, typename UniqueIdType>
Iterator Base::Factory< BaseClassType, UniqueIdType >::GetBegin ( )
inline

◆ GetEnd() [1/2]

template<typename BaseClassType, typename UniqueIdType>
ConstIterator Base::Factory< BaseClassType, UniqueIdType >::GetEnd ( ) const
inline

◆ GetEnd() [2/2]

template<typename BaseClassType, typename UniqueIdType>
Iterator Base::Factory< BaseClassType, UniqueIdType >::GetEnd ( )
inline

◆ Register()

template<typename BaseClassType, typename UniqueIdType>
template<typename ClassType >
bool Base::Factory< BaseClassType, UniqueIdType >::Register ( UniqueIdType  unique_id)
inline

◆ Unregister()

template<typename BaseClassType, typename UniqueIdType>
bool Base::Factory< BaseClassType, UniqueIdType >::Unregister ( UniqueIdType  unique_id)
inline

Member Data Documentation

◆ m_object_creator

template<typename BaseClassType, typename UniqueIdType>
std::map<UniqueIdType, CreateObjectFunc> Base::Factory< BaseClassType, UniqueIdType >::m_object_creator
protected

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