How can I force a template parameter T to be a subclass of a specific class Baseclass?
Something like this:
template
With a C++11 compliant compiler, you can do something like this:
template class MyClass {
MyClass() {
// Compile-time sanity check
static_assert(std::is_base_of::value, "Derived not derived from BaseClass");
// Do other construction related stuff...
...
}
}
I've tested this out using the gcc 4.8.1 compiler inside a CYGWIN environment - so it should work in *nix environments as well.