FEDEM Solver  R8.0
Source code of the dynamics solver
Public Member Functions | Private Types | Private Attributes | List of all members
FFaGenericFactory< T, Key, ArgType > Class Template Reference

#include <FFaGenericFactory.H>

Inheritance diagram for FFaGenericFactory< T, Key, ArgType >:
Inheritance graph
[legend]
Collaboration diagram for FFaGenericFactory< T, Key, ArgType >:
Collaboration graph
[legend]

Public Member Functions

 FFaGenericFactory ()
 
virtual ~FFaGenericFactory ()
 
bool registerCreator (const Key &key, const CreatorCB &creator)
 
T * create (const Key &key, ArgType id)
 
void getKeys (std::vector< Key > &keys) const
 
void clear ()
 

Private Types

typedef FFaDynCB2< ArgType, T *& > CreatorCB
 
typedef std::map< Key, CreatorCBCreatorType
 

Private Attributes

CreatorType myCreatorMap
 

Additional Inherited Members

- Static Public Member Functions inherited from FFaSingelton< FFaGenericFactory< T, std::string, int > >
static FFaGenericFactory< T, std::string, int > * instance ()
 Returns the actual instance of this class. More...
 
static void removeInstance ()
 Deletes the dynamically allocated instance. More...
 
static bool allocated ()
 Returns true, if the instance has been allocated. More...
 
- Protected Member Functions inherited from FFaSingelton< FFaGenericFactory< T, std::string, int > >
 FFaSingelton ()
 The constructor is protected to allow objects of sub-classes only. More...
 
 FFaSingelton (const FFaSingelton &)=delete
 Disable default copy constructor. More...
 
FFaSingeltonoperator= (const FFaSingelton &)=delete
 Disable default assignment operator. More...
 

Member Typedef Documentation

◆ CreatorCB

template<class T , class Key = std::string, class ArgType = int>
typedef FFaDynCB2<ArgType,T*&> FFaGenericFactory< T, Key, ArgType >::CreatorCB
private

◆ CreatorType

template<class T , class Key = std::string, class ArgType = int>
typedef std::map<Key,CreatorCB> FFaGenericFactory< T, Key, ArgType >::CreatorType
private

Constructor & Destructor Documentation

◆ FFaGenericFactory()

template<class T , class Key = std::string, class ArgType = int>
FFaGenericFactory< T, Key, ArgType >::FFaGenericFactory ( )
inline

◆ ~FFaGenericFactory()

template<class T , class Key = std::string, class ArgType = int>
virtual FFaGenericFactory< T, Key, ArgType >::~FFaGenericFactory ( )
inlinevirtual

Member Function Documentation

◆ clear()

template<class T , class Key = std::string, class ArgType = int>
void FFaGenericFactory< T, Key, ArgType >::clear ( )
inline

◆ create()

template<class T , class Key = std::string, class ArgType = int>
T* FFaGenericFactory< T, Key, ArgType >::create ( const Key &  key,
ArgType  id 
)
inline

◆ getKeys()

template<class T , class Key = std::string, class ArgType = int>
void FFaGenericFactory< T, Key, ArgType >::getKeys ( std::vector< Key > &  keys) const
inline

◆ registerCreator()

template<class T , class Key = std::string, class ArgType = int>
bool FFaGenericFactory< T, Key, ArgType >::registerCreator ( const Key &  key,
const CreatorCB creator 
)
inline

Member Data Documentation

◆ myCreatorMap

template<class T , class Key = std::string, class ArgType = int>
CreatorType FFaGenericFactory< T, Key, ArgType >::myCreatorMap
private

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