Boost logo

Boost :

Subject: Re: [boost] [operators] v2 test code
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-04-26 03:54:29


On Friday 26 April 2013 05:47:12 Andrew Ho wrote:
> Oops, major typos in macro fixed (missing code to propagate operator
> inheritance chain for rvalue ref aware compilers).
>
> Revised codepad:
>
> http://codepad.org/pZXpLKgp

1. BOOST_HAS_RVALUE_REFS is deprecated, use BOOST_NO_CXX11_RVALUE_REFERENCES
instead.

2. I think you're not guaranteed to have std::move even if you have rvalue
references. If I'm not mistaken, folks on OS X have that situation when they
compile with clang and libstdc++ from gcc 4.2. I would suggest using
boost::move instead (include boost/move/utility.hpp).

3. I think there's an error in NAME##_left of the BOOST_BINARY_OPERATOR
define, when BOOST_HAS_RVALUE_REFS is not defined. The nrv variable
construction fused with the operator invokation.


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