
loufoque wrote:
Jeff Garland wrote:
loufoque wrote:
Something more flexible might be an interesting base. Such as? What features would it have that would make it more flexible?
The ability to build the string type on top of std::string, std::vector, std::rogue, or anything else. Something like flex_string, basically.
....
std::rope, of course.
sgi::rope I presume. This is a legitimate request. The issue came up during the 1st round of discussions and I prototyped and then dropped the approach. Here was the rationale I posted in July: I dropped the string_type template parameter after actually doing the implementation of const_super_string. The reality is that the implementation relies on the underlying string type and you can't just drop in a new base string type easily. The likelihood of using that parameter seems rather remote. And the extra parameter complicates the documentation and the usage interface -- of which the goal is to make as easy as possible. Now it could be that my view was clouded by the difficulty of the const_string experience. That may have been atypical because it is a mutable/immutable string variation which requires different interfaces. Plus const_string doesn't match all the std::string interfaces. Anyway, I'd be willing to reopen the discussion on this decision if people are really using lots of alternative string types. I still think the usefulness is dubious. Besides, these alternate string types should already have the super_string features...right ;-) Jeff