# Loki::Factory< AbstractProduct, IdentifierType, CreatorParmTList, FactoryErrorPolicy > Class Template Reference
[Factory]

`#include <Factory.h>`

List of all members.

## Detailed Description

### template<class AbstractProduct, typename IdentifierType, typename CreatorParmTList = NullType, template< typename, class > class FactoryErrorPolicy = DefaultFactoryError>
class Loki::Factory< AbstractProduct, IdentifierType, CreatorParmTList, FactoryErrorPolicy >

Implements a generic object factory.

Create functions can have up to 15 parameters.

Singleton lifetime when used with Loki::SingletonHolder
  Because Factory uses internally Functors which inherits from SmallObject you must use the singleton lifetime

       Loki::LongevityLifetime::DieAsSmallObjectChild

  Alternatively you could suppress for Functor the inheritance from SmallObject by defining the macro:

       LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT

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

- Factory.h