From: David Abrahams (dave_at_[hidden])
Date: 2005-05-02 15:55:55
"Eric Niebler" <eric_at_[hidden]> writes:
> Gennadiy Rozental wrote:
>> "Eric Niebler" <eric_at_[hidden]> wrote in message
>>> Besides, eliminating the rvalue requirement won't simplify the code
>>> because much of that machinery is needed anyway to prevent the
>>> macro args from being reevaluated. The rvalue stuff practically
>>> falls out of that.
>> Lets see: to support rvalues you need:
>> # include <new>
>> # include <boost/aligned_storage.hpp>
>> # include <boost/utility/enable_if.hpp>
>> # include <boost/type_traits/is_array.hpp>
>> struct rvalue_probe
>> template<typename T>
>> struct simple_variant
>> Quite a lot actually.
> True, but much of this is only needed for the *const* rvalue stuff. If
> there were general agreement that there's fat to trim (is there?),
> dropping *const* rvalue support would be an easy target.
Don't do it! I plan to write some functions that return const
rvalues. Plus, Scott Meyers recommends it, so you'll encounter it.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk