Boost logo

Boost :

Subject: Re: [boost] [optional] get() misses optional r-value overload in contrast to operator* and value()
From: Peter Dimov (lists_at_[hidden])
Date: 2018-03-23 17:05:21


Matt Calabrese wrote:
> On Fri, Mar 23, 2018 at 12:01 PM, Peter Dimov via Boost
> <boost_at_[hidden]> wrote:
> > Interesting question. value() && returns T&&. The auto const& reference
> > can't bind directly to T&&, because that's not an lvalue.
>
> An lvalue-reference-to-const can bind to an rvalue (it's why you can pass
> an rvalue to a function that takes a "const T&").

You're right, it does bind directly.
http://eel.is/c++draft/dcl.init.ref#5.3.1


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