
David Abrahams wrote:
"Erik Wien" <wien@start.no> writes:
"Miro Jurisic" <macdev@meeroh.org> wrote in message news:macdev-
I am not sure I buy this. I think that if you want to have unchecked Unicode data, you should use a vector<char*_t>. Unicode strings have well-defined invariants with respect to canonicalization and well-formedness, and I think that the a Unicode string abstraction should enforce those invariants.
Having intermediate states that are invalid and a final state that is valid is not a feature, it's a bug. It's a silent failure that I want to know about.
Amen. ;)
How is this different from the situation with filesystem::path, where eager checking has turned out to be painful for a broad spectrum of users?
"We have a valid Unicode string" is a pretty sensible invariant.