This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
XXX_scan algorithms are specified to work with move-only T, but are
specified to make N copies of T into the destination rangeSection: 26.10.8 [exclusive.scan], 26.10.9 [inclusive.scan], 26.10.10 [transform.exclusive.scan], 26.10.11 [transform.inclusive.scan] Status: New Submitter: Billy O'Neal III Opened: 2018-02-06 Last modified: 2019-01-20
Priority: 2
View all other issues in [exclusive.scan].
View all issues with New status.
Discussion:
All of the scan algorithms ([exclusive.scan], [inclusive.scan], [transform.exclusive.scan], [transform.inclusive.scan]) have language like "If init is provided, T shall be
MoveConstructible (Table 23); otherwise, ForwardIterator1's value type shall be
MoveConstructible.". However, the algorithms operational semantics require that that type
be written "by copy" to the destination range, making support for move only types impossible.
GENERALIZED_SUM and GENERALIZED_NONCOMMUTATIVE_SUM
need to specify the type used to store intermediate calculations.
[2019-01-20 Reflector prioritization]
Set Priority to 2
Proposed resolution: