-
Notifications
You must be signed in to change notification settings - Fork 20
/
terms_and_definitions.html
54 lines (40 loc) · 1.8 KB
/
terms_and_definitions.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<cxx-clause id="parallel.defns">
<h1>Terms and definitions</h1>
<p>For the purposes of this document, the terms and definitions given in the C++ Standard and the following apply.</p>
<p>A <dfn>parallel algorithm</dfn> is a function template described by this Technical Specification declared in namespace <code>std::experimental::parallel::v2</code> with a formal template parameter named <code>ExecutionPolicy</code>.</p>
<p>
Parallel algorithms access objects indirectly accessible via their arguments by invoking the following functions:
<ul>
<li>
All operations of the categories of the iterators that the algorithm is instantiated with.
</li>
<li>
Functions on those sequence elements that are required by its specification.
</li>
<li>
User-provided function objects to be applied during the execution of the algorithm, if required by the specification.
</li>
<li>
Operations on those function objects required by the specification.
<cxx-note>
See clause 25.1 of <em>C++ Standard Algorithms Library</em>.
</cxx-note>
</li>
</ul>
These functions are herein called <em>element access functions</em>.
<cxx-example>
The <code>sort</code> function may invoke the following element access functions:
<ul>
<li>
Methods of the random-access iterator of the actual template argument, as per 24.2.7, as implied by the name of the
template parameters <code>RandomAccessIterator</code>.
</li>
<li>
The <code>swap</code> function on the elements of the sequence (as per 25.4.1.1 [sort]/2).
</li>
<li>
The user-provided <code>Compare</code> function object.
</li>
</ul>
</cxx-example>
</cxx-clause>