Title
Expression evaluating to a call wrapper is a prvalue, not an object
Status
new
Section
[function.objects][range.utility.conv.adaptors] [range.adaptor.object]
Submitter
Johel Ernesto Guerrero Peña

Created on 2022-10-26.00:00:00 last changed 26 months ago

Messages

Date: 2022-11-15.00:00:00

[ 2022-11-01; Reflector poll ]

Set priority to 4 after reflector poll.

Date: 2022-10-26.00:00:00

[func.def] defines

-6- A call wrapper is an object of a call wrapper type.

Most importantly, a call wrapper is an object.

A number of functions in [function.objects] and expressions in [range.utility.conv.adaptors] and [range.adaptor.object] are specified to result in a call wrapper. Most notably, the return type of ranges::to is auto, so its result is definitely a prvalue and not a "call wrapper" object.

Where a prvalue result is meant, the wording should be clarified to mean "a prvalue whose object it initializes is a call wrapper".

History
Date User Action Args
2022-11-01 17:49:23adminsetmessages: + msg12916
2022-10-26 00:00:00admincreate