2010/5/22 Nat Goodspeed <nat@lindenlab.com>
Especially when my base class is a template with a number of parameters, I often do write something like:

class Subclass: BaseClass<etc.>
{
   typedef BaseClass<etc.> super;
public:
   Subclass(whatever):
       super(whatever),
       ...
   {}
   ...
};

If your compiler implements injected names correctly (gcc does not), you can use BaseClass instead of super.

namespace some_long_namespace {
  template <class T>
  struct Base {};
}
struct Derived : some_long_namespace::Base<int> {
  Derived() : Base() {}
};

Roman Perepelitsa.