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: