ProtoMol - an object-oriented component based framework for Molecular Dynamics simulations.

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

ProtoMol::Factory< Type > Class Template Reference

#include <Factory.h>

List of all members.

Public Types

typedef std::set< const Type
* >::const_iterator 
const_iterator

Static Public Member Functions

void registerExemplar (const Type *exemplar, std::string id="")
void registerExemplar (const Type *exemplar, const std::vector< std::string > &aliases, std::string id="")
bool unregisterExemplar (const std::string &id)
void unregisterAllExemplars ()
std::string print ()
void registerHelpText ()
bool empty ()
Factoryinstance ()
const_iterator begin ()
const_iterator end ()
const Type * find (const std::string &id)

Protected Member Functions

 Factory ()
virtual ~Factory ()

Private Member Functions

 Factory (const Factory &)
Factoryoperator= (const Factory &)
void doRegisterExemplar (const std::string &id, const Type *exemplar)
void doRegisterExemplar (const std::string &id, const Type *exemplar, const std::vector< std::string > &aliases)
bool doUnregisterExemplar (const std::string &id)

Static Private Member Functions

void kill ()

Static Private Attributes

Factoryobj = NULL


Detailed Description

template<typename Type>
class ProtoMol::Factory< Type >

Concrete factory implementing the singleton pattern and inheriting the implementation details by traits. The concept of three levels enables to combine the singleton pattern and implementation details, where the base class FactoryBase provides the essential methods and data members for the implementation details.


Member Typedef Documentation

template<typename Type>
typedef std::set<const Type*>::const_iterator ProtoMol::Factory< Type >::const_iterator
 


Constructor & Destructor Documentation

template<typename Type>
ProtoMol::Factory< Type >::Factory  )  [inline, protected]
 

template<typename Type>
virtual ProtoMol::Factory< Type >::~Factory  )  [inline, protected, virtual]
 

template<typename Type>
ProtoMol::Factory< Type >::Factory const Factory< Type > &   )  [inline, private]
 


Member Function Documentation

template<typename Type>
const_iterator ProtoMol::Factory< Type >::begin  )  [inline, static]
 

template<typename Type>
void ProtoMol::Factory< Type >::doRegisterExemplar const std::string &  id,
const Type *  exemplar,
const std::vector< std::string > &  aliases
[inline, private]
 

template<typename Type>
void ProtoMol::Factory< Type >::doRegisterExemplar const std::string &  id,
const Type *  exemplar
[inline, private]
 

template<typename Type>
bool ProtoMol::Factory< Type >::doUnregisterExemplar const std::string &  id  )  [inline, private]
 

template<typename Type>
bool ProtoMol::Factory< Type >::empty  )  [inline, static]
 

template<typename Type>
const_iterator ProtoMol::Factory< Type >::end  )  [inline, static]
 

template<typename Type>
const Type* ProtoMol::Factory< Type >::find const std::string &  id  )  [inline, static]
 

template<typename Type>
Factory& ProtoMol::Factory< Type >::instance  )  [inline, static]
 

template<typename Type>
void ProtoMol::Factory< Type >::kill  )  [inline, static, private]
 

Call by atexit() to clean up.

template<typename Type>
Factory& ProtoMol::Factory< Type >::operator= const Factory< Type > &   )  [inline, private]
 

template<typename Type>
std::string ProtoMol::Factory< Type >::print  )  [inline, static]
 

template<typename Type>
void ProtoMol::Factory< Type >::registerExemplar const Type *  exemplar,
const std::vector< std::string > &  aliases,
std::string  id = ""
[inline, static]
 

template<typename Type>
void ProtoMol::Factory< Type >::registerExemplar const Type *  exemplar,
std::string  id = ""
[inline, static]
 

template<typename Type>
void ProtoMol::Factory< Type >::registerHelpText  )  [inline, static]
 

template<typename Type>
void ProtoMol::Factory< Type >::unregisterAllExemplars  )  [inline, static]
 

template<typename Type>
bool ProtoMol::Factory< Type >::unregisterExemplar const std::string &  id  )  [inline, static]
 


Member Data Documentation

template<typename Type>
Factory< Type > * ProtoMol::Factory< Type >::obj = NULL [static, private]
 


The documentation for this class was generated from the following file: Last update: . GNU GENERAL PUBLIC LICENSE, copyrighted by the University of Notre Dame and the University of Bergen, Norway.