In 2000, there was not a single compiler that implemented all aspects of standard templates. I would dare say that no one even understood that it was possible with templates before Alexandrescu released its Modern C ++ design in 2001.
However, Metrowerks was one of the best. If it compiles on version 7 or later, it should be very possible to get it working on a modern, more standard, compiler pretty quickly.
If I remember correctly, the biggest problem with the Metrowerks compilers in the early days was that wherever typename appeared, the next one was simply interpreted as a type, regardless of what followed.
This meant that you could do it, and I saw completely non-standard things with this, such as forwarding typedef declarations.
Another part of the templates that made them wait a long time is all the wrt template template parameters and default template arguments.
Put some specific errors, if you can't get it to work, they probably all fall into one or two βclassesβ of problems, and someone can quickly help you.
As I said, Metrowerks had a pretty good C ++ compiler, especially its STL implementation, mainly thanks to Howard Hinnant .
source share