In svector.h, there is a specialization: inline svector<string>::svector<string>(unsigned size)
How mad is the speed hit from leaving this out? The reason I ask is because doing specialization in this manner is non-standard. I believe it was at one time common, but it's use has been removed from the standard. It works for GCC, but it fails for SunStudio and MIPSpro, and the chances are it would also fail for xlc. If it is a big performance gain, I'll rewrite it, but if it isn't, I'd be happy to leave it out.