And those replacement class templates could be simpler – thus easier to write – and less performant, which the new compiler might make up for, all in all. It's just that there is a bit of a zoo of class templates in use – enum maps (and sets, i.e. enum-to-bool) optimized for various usage patterns, including 2D versions that combine two types of simpler enum maps. Maybe a dozen in total. Well, their public member functions are largely the same, template parameter lists similar, so probably one could just define some of those varieties more or less as aliases of others.If the EnumMap templates themselves don't have alot of dependencies to other parts of the code. Creating a self contained project to develop a C++ standard compatible version should be possible.
OK, it's good have these challenges (also msxml3) spelled out in one place; I'll add a link here to the manual for whoever it might come to concern. Thanks for sharing your observations.