John, You wrote:
> I hate to say it, but I *really* don't like the idea of abusing std::string > in this way: and IMO it is an abuse: a substring is not conceptually "an > instance of" std::string. It's not mutable, and it doesn't manage it's own > memory etc etc. From a practical point of view, it doesn't really work > either - your substring doesn't actually behave like a std::string in all > circumstances, so you can't guarantee that it can be used with all string > based algorithms; std lib algorithms are even entitled to access the private > implementation details of std::basic_string (if they're declared as > friends), so those need not work either :-( > > The point of providing a string_traits class, was that it allows classes > that we haven't yet thought of, heard of, or invented yet(!), to be used as > string classes with the string algorithms. For example it would allow > Microsoft's CString or Borlands AnsiString classes to be used with these > algorithms. Even though we do have a standard string class, string classes > are none the less proliferating if anything, especially once you start > interoperating with COM, CORBRA or whatever. > > Anyway just some thoughts... > > John Maddock > http://ourworld.compuserve.com/homepages/john_maddock/index.htm Thank you for your thoughts. It might sound funny, but I tend to agree with you on most of your points. basic_string as it is defined in the stadard is not very suitable to be used in the way I do. The problem I was trying to solve with it was the fact that the standard defines tools to work with basic_string, but it doesn't have any good way to create new user defined string like types compatible with basic_string so that they can reuse string utils. In a practical sence I got pretty close to what I was trying to achieve, but conceptually the proper solution for this would require some standard revisions. Best regards. Alexei Novakov _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost