// Test of template support in Synopsis //. The base template type template class Foo { public: T* t; int size() const { return I; } }; //. A specialization for a single element template class Foo { public: T& t; int size() const { return 1; } }; //. A specialization for integers template class Foo { public: int t[]; int size() const { return I; } }; //. A specialization for integers of size 1 template<> class Foo { public: int &t; int size() const { return 1; } }; //. A class that inherits on a template dependant on itself class Bar : public Foo { //. verbiage void IamAfunkyFunction(Bar*); };