Column-oriented GPU-accelerated Database Management System
CoGaDB
hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator > Class Template Reference

#include <factory.hpp>

Collaboration diagram for hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >:

List of all members.

Public Member Functions

 Factory ()
 ~Factory ()
bool Register (const IdentifierType &id, ProductCreator creator)
bool Unregister (const IdentifierType &id)
AbstractProduct * CreateObject (const IdentifierType &id)

Private Types

typedef std::map
< IdentifierType,
ProductCreator > 
AssocMap

Private Attributes

AssocMap associations_

template<class AbstractProduct, typename IdentifierType, typename ProductCreator = AbstractProduct* (*)()>
class hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >


Member Typedef Documentation

template<class AbstractProduct , typename IdentifierType , typename ProductCreator = AbstractProduct* (*)()>
typedef std::map<IdentifierType, ProductCreator> hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >::AssocMap [private]

Constructor & Destructor Documentation

template<class AbstractProduct , typename IdentifierType , typename ProductCreator = AbstractProduct* (*)()>
hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >::Factory ( ) [inline]
template<class AbstractProduct , typename IdentifierType , typename ProductCreator = AbstractProduct* (*)()>
hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >::~Factory ( ) [inline]

Member Function Documentation

template<class AbstractProduct , typename IdentifierType , typename ProductCreator = AbstractProduct* (*)()>
AbstractProduct* hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >::CreateObject ( const IdentifierType &  id) [inline]
template<class AbstractProduct , typename IdentifierType , typename ProductCreator = AbstractProduct* (*)()>
bool hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >::Register ( const IdentifierType &  id,
ProductCreator  creator 
) [inline]
template<class AbstractProduct , typename IdentifierType , typename ProductCreator = AbstractProduct* (*)()>
bool hype::core::Factory< AbstractProduct, IdentifierType, ProductCreator >::Unregister ( const IdentifierType &  id) [inline]

Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines