Boost logo

Boost :

Subject: Re: [boost] Boost.Operators and make_shared
From: Andrew Ho (helloworld922_at_[hidden])
Date: 2013-07-12 14:24:00


> Could we just have boost::operators (i.e. without 2)? The old
implementation
> didn't have a namespace and the new one is supposed to replace it, isn't
it?

I'm not entirely sure what the plan is with boost operators2. As far as I
could tell there wasn't much of a consensus on what the plan was (unless I
missed a post somewhere). Ideally it should replace boost operators, but
there are a lot of old compiler fixes which have been removed, and a few
potentially breaking changes in my current test implementation.

Potentially "breaking" changes:

1. there's no "addable1/addable2" class naming, I'm relying on template
partial specialization so addable<T,T> will map to a template specialized
implementation.

2. Pretty much all "compiler-specific-compatibility" code has been removed.
The minimum requirements is a C++03 compliant compiler (possibly just C++98
compliant since the two are so similar).

3. The library now relies on boost::move. Note that boost::move maps
directly to standard C++11 features if available, otherwise there's a
backwards-compatible implementation.

4. All operators2 code is in the boost::operators2 namespace (easily could
be boost::operators if we decide to not move boost operators there).

It's very easy for me to change the boost operators2 implementation to
completely replace boost operators (just need to do a few find/replaces and
delete the old operators.hpp).

If this is the plan, I can for-go any changes in the current operators.hpp
because modifying it to reside in boost::operators is not a simple task.


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