typedef MyClass<P1> me;
typedef boost::shared_ptr<me> pointer;
so, later everything will depend on "me", for example: return pointer(new me);
Also, this code could be reused when creating other classes.
Note that this is not necessary:
template <typename T> struct Foo {
Foo foobar ();
};
template <typename T> Foo<T> Foo<T>::foobar () {
return Foo(); // << referred to Foo<T> implicitly
}
int main () {
Foo<void> foo;
Foo<void> phoo = foo.foobar();
}
Inside
the class declaration and inside corpora of member functions, the
unqualified class name is an alias for the qualified one.
Or did I misunderstood something?
Sebastian Mach
http://phresnel.org