Created on 2021-05-16.00:00:00 last changed 25 months ago
Proposed resolution:
This wording is relative to N4885.
Modify [memory.syn], header <memory> synopsis, as indicated:
[…]
namespace std {
[…]
template<class InputIterator, class NoThrowForwardIterator>
NoThrowForwardIterator uninitialized_copy(InputIterator first, InputIterator last,
NoThrowForwardIterator result);
template<class ExecutionPolicy, class InputForwardIterator, class NoThrowForwardIterator>
NoThrowForwardIterator uninitialized_copy(ExecutionPolicy&& exec, // see [algorithms.parallel.overloads]
InputForwardIterator first, InputForwardIterator last,
NoThrowForwardIterator result);
template<class InputIterator, class Size, class NoThrowForwardIterator>
NoThrowForwardIterator uninitialized_copy_n(InputIterator first, Size n,
NoThrowForwardIterator result);
template<class ExecutionPolicy, class InputForwardIterator, class Size, class NoThrowForwardIterator>
NoThrowForwardIterator uninitialized_copy_n(ExecutionPolicy&& exec, // see [algorithms.parallel.overloads]
InputForwardIterator first, Size n,
NoThrowForwardIterator result);
[…]
template<class InputIterator, class NoThrowForwardIterator>
NoThrowForwardIterator uninitialized_move(InputIterator first, InputIterator last,
NoThrowForwardIterator result);
template<class ExecutionPolicy, class InputForwardIterator, class NoThrowForwardIterator>
NoThrowForwardIterator uninitialized_move(ExecutionPolicy&& exec, // see [algorithms.parallel.overloads]
InputForwardIterator first, InputForwardIterator last,
NoThrowForwardIterator result);
template<class InputIterator, class Size, class NoThrowForwardIterator>
pair<InputIterator, NoThrowForwardIterator>
uninitialized_move_n(InputIterator first, Size n, NoThrowForwardIterator result);
template<class ExecutionPolicy, class InputForwardIterator, class Size, class NoThrowForwardIterator>
pair<InputForwardIterator, NoThrowForwardIterator>
uninitialized_move_n(ExecutionPolicy&& exec, // see [algorithms.parallel.overloads]
InputForwardIterator first, Size n, NoThrowForwardIterator result);
[…]
}
[ 2021-06-07 Approved at June 2021 virtual plenary. Status changed: Voting → WP. ]
[ 2021-05-20; Reflector poll ]
Set status to Tentatively Ready after six votes in favour during reflector poll.
The parallel versions of uninitialized_{copy,move}{,_n} are currently depicted as accepting input iterators for their source range. Similar to the non-uninitialized versions, they should require the source range to be at least forward.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2023-11-22 15:47:43 | admin | set | status: wp -> c++23 |
| 2021-06-07 16:58:04 | admin | set | messages: + msg11914 |
| 2021-06-07 16:58:04 | admin | set | status: voting -> wp |
| 2021-05-26 21:11:22 | admin | set | status: ready -> voting |
| 2021-05-20 08:53:38 | admin | set | messages: + msg11828 |
| 2021-05-20 08:53:38 | admin | set | status: new -> ready |
| 2021-05-16 11:55:05 | admin | set | messages: + msg11803 |
| 2021-05-16 00:00:00 | admin | create | |