
26 Apr
2013
26 Apr
'13
7:54 a.m.
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:
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.