
Aristid Breitkreuz wrote :
Abstract? You mean like virtual foo() = 0; ? Probably better not.
No, I just meant an encoding agnostic unicode string type. That could, indeed, have been implemented through inheritance and polymorphism but I chose the use of templates instead for performance.
It would only handle unicode in a generic way at the beginning (no locales or tailored things).
That's fine. Do you have plans on which Unicode encoding to use internally?
UTF-8, UTF-16 and UTF-32 would all be available for implementations, and each one would be able to take or give the other ones for input/output.
Be careful that it remains usable.
I would like to design it to be customizable, but of course there would be a typedef with a specialization which is the more fitting in most cases.