Boost logo

Boost :

Subject: Re: [boost] [string] proposal
From: Artyom (artyomtnk_at_[hidden])
Date: 2011-01-27 09:37:19


> From: Dean Michael Berris <mikhailberis_at_[hidden]>
> On Thu, Jan 27, 2011 at 8:16 PM, Artyom <artyomtnk_at_[hidden]> wrote:
> >> From: Dean Michael Berris <mikhailberis_at_[hidden]>
> >> On Thu, Jan 27, 2011 at 7:06 PM, Artyom <artyomtnk_at_[hidden]> wrote:
> >> > Then don't call this thread [boost][string] proposal and don't
> >> > call it boost::string
> >> >
> >>
> >> Why not? If it's different from std::string why wouldn't boost::string
> >> be a proper name?
> >
> > Because as you mentioned below, many things
> > from boost go to std, i.e. shared_ptr, function, bind and
> > many others.
> >
> > So it shouldn't be "string" as C++ already has one.
> >
>
> By this logic, interprocess' containers shouldn't be called vector,
> map, list, set, unordered_set, unordered_map. That doesn't make sense.
>

They are intendant to remain in interprocess namespace and have
same functionality as standard list/set etc.

This is different case.

>
> >
> >>
> >> Who gave you the monopoly on what `string` should mean? :P
> >>
> >
> > Nobody gave me a monopoly, however such monopoly had
> > given to C++ standard committee that had defined what
> > string means in C++'s standard namespace.
> >
> > It is fine have other strings but IMHO they should not
> > be called boost::string.
> >
>
> And IMHO std::string's current interface can be deprecated by a
> suitably convinced standard committee.
>
> It's like std::auto_ptr being deprecated along with the interfaces of
> dozens of other libraries.
> If boost::string is a really well
> implemented string that does things really really well, then I don't
> see why std::string can't be deprecated in favor of an arguably better
> but certainly different string paradigm.

Deprecated, not changed in backward incompatible way.

> >
> > 1. Make it fully backward compatible with std::string
> > 2. Call it by different name.
> >
>
> Nope, I disagree with both.
>
> std::string can be deprecated if the standards body agree that there's
> cause for it to be deprecated. And the different name is frankly just
> unnecessary.
>

It may be deprecated, not removed become broken. Personally I
don't think that immutability worth breaking 95% of existing code.

So just call it boost::text, boost::unicode_string, boost::immutable_string
or whatever you want, but boost::string is bad idea.

Artyom

      


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