#ifndef TEMPLATE_H
#define TEMPLATE_H
#include <map>
template
<
class AbstractProduct,
typename IdentifierType,
class ProductCreator = AbstractProduct*(*)(),
template <typename,class>
class FactoryErrorPolicy = DefaultFactoryError
>
class Factory
{
public:
bool Register(const IdentifierType& id ,ProductCreator creator)
{
#define TEMPLATE_H
#include <map>
template
<
class AbstractProduct,
typename IdentifierType,
class ProductCreator = AbstractProduct*(*)(),
template <typename,class>
class FactoryErrorPolicy = DefaultFactoryError
>
class Factory
{
public:
bool Register(const IdentifierType& id ,ProductCreator creator)
{