21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
[algorithms.parallel.user]
|
||
|
||
# 26 Algorithms library [[algorithms]](./#algorithms)
|
||
|
||
## 26.3 Parallel algorithms [[algorithms.parallel]](algorithms.parallel#user)
|
||
|
||
### 26.3.2 Requirements on user-provided function objects [algorithms.parallel.user]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/algorithms.tex#L370)
|
||
|
||
Unless otherwise specified,
|
||
invocable objects passed into parallel algorithms as objects of a type
|
||
denoted by a template parameter namedPredicate,BinaryPredicate,Compare,UnaryOperation,BinaryOperation,BinaryOperation1,BinaryOperation2,BinaryDivideOp, or
|
||
constrained by a concept that subsumes [regular_invocable](concept.regularinvocable#concept:regular_invocable "18.7.3 Concept regular_invocable [concept.regularinvocable]") 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[.](#1.sentence-1)
|