"John Maddock"
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?
IMO all these non-standard string classes are beside the point. It's maybe ok for Boost library to try to accommodate everything. But String Algorithms as part of STL should define some specific concepts that are expected users string to support and should be primarily oriented to work nicely with standard string. Gennadiy