Boost logo

Boost :

Subject: Re: [boost] transforming ex. boost lib into C++11-only lib?
From: Robert Ramey (ramey_at_[hidden])
Date: 2015-01-22 13:05:26


Niall Douglas wrote
> On 22 Jan 2015 at 15:20, Oliver Kowalke wrote:
>
>> Hello,
>> is it permitted to transform an existing boost library into a C++11-only
>> library?
>
> If you meant here "transform an existing boost library into a
> C++11-only *Boost* library with C++ 11 only APIs" then I think you
> need to cycle the library name. Precedent here is that Signals went
> to Signals2, here I should think Coroutine ought to become
> Coroutine2.

agreed

> If you meant here "transform an existing boost library into a C++11
> STL _capable_ *standalone* library" i.e. you do as Chris did in ASIO
> and I've done in AFIO via BindLib and provide a macro based framework
> for swapping out Boost STL for C++ 11 STL, then no I don't think the
> name needs to change as ASIO already did this some time ago, and I
> doubt anyone in Boost even noticed. The precedent here says this is
> okay so long as 03 Boost STL support still works.

agreed

> If finally you really meant here "I'd like a totally different
> internal implementation of Coroutine when C++ 11 mode is switched on,
> but still provide a legacy if orphaned but mostly API compatible C++
> 03 implementation" then I'd personally say no name change needed.
> Precedent here is probably Boost.Thread where an increasing chunk of
> it uses different implementations depending on the C++ standard being
> used.

disagree here. I hate when some programmer tries to "outsmart" me by doing
what he "knows" I need and does what he thinks I should want rather than
what
I say I want. It's very confusing to the user and a lot more work for the
developer.
This was done for spirit - they did a good job and it works, but its very
confusing
to me if I have to look into some sort of problem. Boost Build has the same
issue
in that if it fails, I just can't figure out what I have to change to make
it work. It's
too smart for my own good. google bjam coke machine.

So in this case, I would prefer the creation of Library2 as in the first
case above.
Certainly this worked well with signals and other libraries should follow
that model.

Robert Ramey

--
View this message in context: http://boost.2283326.n4.nabble.com/transforming-ex-boost-lib-into-C-11-only-lib-tp4671503p4671529.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

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