In reply to Tudor Timi:
The issue is that the getnext_real and getnext_complex are very different, and it would be difficult to implement solely via virtual functions of the base class. That is why I wanted the template specialization in the first place. If all to be called methods were to exist for the real and complex class the simple parametrization would have worked fine.
Personally I don’t get it why pretty simple mechanisms like function overloading and parameter (template) specialization are not present in the SV language. I can’t imagine it is so hard to add that to the compiler.