Created on 2025-11-07.00:00:00 last changed 1 month ago
Proposed resolution:
This wording is relative to N5014.
Modify [algorithms.parallel.user], as indicated:
-1- Unless otherwise specified, invocable objects passed into parallel algorithms as objects of a type denoted by a template parameter named `Predicate`, `BinaryPredicate`, `Compare`, `UnaryOperation`, `BinaryOperation`, `BinaryOperation1`, `BinaryOperation2`, `BinaryDivideOp`, or constrained by a concept whose semantic requirements include that
subsumesthe type models `regular_invocable` and the operators used by the analogous overloads to these parallel algorithms that are formed by an invocation with the specified default predicate or operation (where applicable) shall not directly or indirectly modify objects via their arguments, nor shall they rely on the identity of the provided objects.
[ Kona 2025-11-08; Status changed: Immediate → WP. ]
[ Kona 2025-11-07; approved by LWG. Status changed: New → Immediate. ]
“Subsumes” word does not work here because `regular_invocable` and `invocable` subsume each other.
Proposed change: Say that the type is required to model `regular_invocable`.| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2025-11-11 10:48:55 | admin | set | messages: + msg15711 |
| 2025-11-11 10:48:55 | admin | set | status: immediate -> wp |
| 2025-11-07 19:25:53 | admin | set | messages: + msg15595 |
| 2025-11-07 19:25:53 | admin | set | status: new -> immediate |
| 2025-11-07 17:06:20 | admin | set | messages: + msg15585 |
| 2025-11-07 00:00:00 | admin | create | |