Hi,
On the net, I found the following article,
http://www.gamedev.net/reference/art...rticle2097.asp
describing a generic factory class.
My question is about one of the links pointed to by the article,
namely
http://downloads.gamedev.net/feature...ory/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.