Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2006-10-12 20:47:01


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk