Gaia
gaia2::LayoutAwareFactory< IdentifierType, AbstractProduct, LayoutType, ArgumentType > Class Template Reference

A tuned implementation of a factory. More...

#include <layoutawarefactory.h>

Classes

class  Registrar
 

Public Member Functions

AbstractProduct * create_i (const IdentifierType &id, const LayoutType &layout, const ArgumentType &arg) const
 

Static Public Member Functions

static LayoutAwareFactoryinstance ()
 
static AbstractProduct * create (const IdentifierType &id, const LayoutType &layout, const ArgumentType &arg=ArgumentType())
 
static QStringList keys ()
 

Protected Types

typedef AbstractProduct *(* ProductCreator) (const LayoutType &, const ArgumentType &)
 
typedef QMap< IdentifierType, ProductCreator > CreatorMap
 

Protected Attributes

CreatorMap _map
 

Detailed Description

template<typename IdentifierType, typename AbstractProduct, typename LayoutType, typename ArgumentType>
class gaia2::LayoutAwareFactory< IdentifierType, AbstractProduct, LayoutType, ArgumentType >

A tuned implementation of a factory.

It is based on the generic Factory class, except that it requires for all objects to have a constructor with a PointLayout* (or FrozenDataSet) as first argument, and then another one specified by the ArgumentType template argument.


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