CFEL - ASG Software Suite  2.5.0
CASS
Classes | Namespaces | Macros | Functions
generic_factory.hpp File Reference

contains a factory that can be used for any class More...

#include <tr1/functional>
#include <tr1/memory>
#include <map>
#include <string>
+ Include dependency graph for generic_factory.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cass::Factory< Base >
 Factory for creating shared_pointers of classes derived from a base class. More...
 
struct  cass::Registrar< Base, Derived >
 helper struct that will add Derived to the factory map More...
 

Namespaces

 cass
 

Macros

#define REGISTER(basename, derivedname)
 
#define DEFINEREGISTER(basename, derivedname, key)   const Registrar<basename,derivedname> derivedname::reg("key");
 

Functions

template<class Derived >
Derived::shared_pointer cass::instanciator ()
 function to create an instance of a class More...
 
template<class Derived >
Derived::shared_pointer cass::singletoninstanciator ()
 function to create a singleton of a class More...
 

Detailed Description

contains a factory that can be used for any class

Author
Lutz Foucar

Definition in file generic_factory.hpp.

Macro Definition Documentation

#define DEFINEREGISTER (   basename,
  derivedname,
  key 
)    const Registrar<basename,derivedname> derivedname::reg("key");

Definition at line 26 of file generic_factory.hpp.

#define REGISTER (   basename,
  derivedname 
)
Value:
private: \
static const Registrar<basename,derivedname> reg;

Definition at line 21 of file generic_factory.hpp.