On Sun, Sep 23, 2018 at 10:40 AM Peter Dimov via Boost < boost@lists.boost.org> wrote:
Zach Laine wrote:
You can find the online docs here: https://tzlaine.github.io/text
I find the "string" layer a hard sell. First, realistically, nobody is going to use it over std::string, especially when its selling point is "we make your code not compile by removing functions from std::string". Second, some of the removed functions are part of the Sequence requirements. Hard to see the benefits of that removal; string<Ch> and vector<Ch> being compatible on a concept level is useful.
string is not and probably never will be a SequenceContainer, but I take your point about text::string being a breaking change. The original impetus for the whole library was a rethink of 'std::string' for a possible 'std2::string'. 'std2' is probably DOA, given LEWG's over-my-dead-body reaction to the idea. So, the string layer stuff is still there, but it's usefulness is now probably restricted to its interoperation with unencoded_rope.
This of course in no way diminishes the utility of the library. If its opinionated `string` is part of the price of admission, so be it. I'm just saying. :-)
Other string types, including std::string are interoperable with most of Boost.Text, via concept-accepting overloads in the string- and text-layer types. Also, you can get away with never using text::string at all if you want, for instance if you only use the text-layer types and/or the Unicode layer. Zach