There are already several others (FlexiString, sgi's rope) and several are already
Non of them is standard, so no need to pay attention. Any *string* class that want conform string_algo interface needs to satisfy const_string one.
And back in the real world users use all kinds of propietory string types: CString, UnicodeString,AnsiString, WideString, need I go on? Users *have* to use these types to interact with their native GUI's and other class libraries, having a string type neutral algorithm library allows them to interact with all of these without copying data all the time. Oh and what about memory mapped files, should we be able to support those as well? And for those who think that in-place modification is the way to go: you do realise that it's often *slower* than building a new string don't you? John.