F
Faheem Mitha
Hi,
On the net, I found the following article,
http://www.gamedev.net/reference/articles/article2097.asp
describing a generic factory class.
My question is about one of the links pointed to by the article,
namely
http://downloads.gamedev.net/features/programming/objectfactory/listing4.h
The code in listing4.h includes syntax like
****************************************************************************
template<typename BaseClassType, typename Param1Type, typename UniqueIdType>
class ObjectFactory<BaseClassType (Param1Type), UniqueIdType>
{
protected:
typedef BaseClassType (*CreateObjectFunc)(Param1Type);
[...]
****************************************************************************
From the article, it looks like he is using the structure of templates
parameters after the class name to instantiate the template, eg.
ObjectFactory<Shape *(int), std::string> shape_factory;
Here Shape * == BaseClassType
int == Param1Type
std::string == UniqueIdType
I've never seen syntax like this, so I'm wondering what is going
on. Does anyone have an idea? Is this even legal C++ syntax?
Thanks in advance. Faheem.
On the net, I found the following article,
http://www.gamedev.net/reference/articles/article2097.asp
describing a generic factory class.
My question is about one of the links pointed to by the article,
namely
http://downloads.gamedev.net/features/programming/objectfactory/listing4.h
The code in listing4.h includes syntax like
****************************************************************************
template<typename BaseClassType, typename Param1Type, typename UniqueIdType>
class ObjectFactory<BaseClassType (Param1Type), UniqueIdType>
{
protected:
typedef BaseClassType (*CreateObjectFunc)(Param1Type);
[...]
****************************************************************************
From the article, it looks like he is using the structure of templates
parameters after the class name to instantiate the template, eg.
ObjectFactory<Shape *(int), std::string> shape_factory;
Here Shape * == BaseClassType
int == Param1Type
std::string == UniqueIdType
I've never seen syntax like this, so I'm wondering what is going
on. Does anyone have an idea? Is this even legal C++ syntax?
Thanks in advance. Faheem.