Subject: Re: [boost] [1.51][Release] Short release cycle
From: Tim Blechmann (tim_at_[hidden])
Date: 2012-06-29 15:20:34


>>>> We should permit individual libraries to target only very
>>>> recent compilers, if the library author so chooses and there is
>>>> good reason.
>>>
>>> I think this is the case with boost.lockfree. It is not easy to
>>> implement it without atomics, and there are no atomics for the
>>> C++03 (yet).
>>
>> I already suggested that Tim add Lockfree to trunk with only C++11
>> support, so you're arguing against the wind, I guess.
>
> And thus begins the downfall.

at one point, library authors will want to use c++11 language features
which cannot be emulated like lambdas? of course we could use c++03
forever ...

one way could be to provide a c++11-only version of boost (boost), which
includes c++11 libraries and possibly strips all boost libraries, which
have been included in c++11?

> One library will start to depend on Lockfree, and soon it's all a
> right mess of trying to get anything to work on a perfectly
> conformant C++03 compiler.

boost.atomic cannot really be implemented in c++03, as it requires
assembly code and/or thread locks ... so one will always have to use
something on top like inline assembly or system-specific thread
libraries ...
but that is probably also the case for things like shared_ptr.

that said, if a library starts to depend on lockfree, it can still be
supported by old compilers, if boost.atomic will ever be added. i (as in
boost.atomic review manager) would be very happy to see that someone
adopts the library!

iac, will try to add lockfree to trunk this weekend

tim