The way I see it all string algorithms should be using class like const_string in their interfaces. basic_string should implement const_string interface. I really think we need to provide this within boost (I know there is something in queue - lets where it will go)
Are you 100% sure, that const_string is the only reasonable string representation?
const_string is more interface then a representation. There possible some design variations here
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.
announced (f.e. unicode_string).
As for unicode string it's a separate issue IMO. I personally quite sure that none of string algorithms will be applicable anyway. But this is topic of separate discussion based on some real submission.
There has been so many discussions that monolithic approach is wrong, yet some people still argue in favor of them.
All depends on what you mean by monolithic. IMO string algorithms design should based in CharType/StringType not iterator type
Original basic_string is mistake IMHO. It has overblown interface and yet it is still not complete enough.
This as completely separate issue. Gennadiy