forked from cplusplus/parallelism-ts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
general.html
82 lines (65 loc) · 4.23 KB
/
general.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<cxx-clause id="parallel.general">
<h1>General</h1>
<cxx-section id="parallel.general.scope">
<h1>Scope</h1>
<p>This Technical Specification describes requirements for implementations of an
interface that computer programs written in the C++ programming language may
use to invoke algorithms with parallel execution. The algorithms described by
this Technical Specification are realizable across a broad class of
computer architectures.</p>
<p>This Technical Specification is non-normative. Some of the functionality
described by this Technical Specification may be considered for standardization
in a future version of C++, but it is not currently part of any C++ standard.
Some of the functionality in this Technical Specification may never be
standardized, and other functionality may be standardized in a substantially
changed form.</p>
<p>The goal of this Technical Specification is to build widespread existing
practice for parallelism in the C++ standard algorithms library. It gives
advice on extensions to those vendors who wish to provide them.</p>
</cxx-section>
<cxx-section id="parallel.general.references">
<h1>Normative references</h1>
<p>The following referenced document is indispensable for the
application of this document. For dated references, only the
edition cited applies. For undated references, the latest edition
of the referenced document (including any amendments) applies.</p>
<ul>
<li>ISO/IEC 14882:—<cxx-footnote>To be published. Section references are relative to <a href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3797.pdf">N3797</a>.</cxx-footnote>,
<cite>Programming Languages — C++</cite>
<cxx-foreign-index id="cxx" src="cxx_N3797_index.json" name="C++14"></cxx-foreign-index></li>
</ul>
<p>ISO/IEC 14882:— is herein called the <dfn>C++ Standard</dfn>.
The library described in ISO/IEC 14882:— clauses 17-30 is herein called
the <dfn>C++ Standard Library</dfn>. The C++ Standard Library components described in
ISO/IEC 14882:— clauses 25 <del2>and</del2><ins2>,</ins2> 26.7<ins2> and 20.7.2</ins2> are herein called the <dfn>C++ Standard
Algorithms Library</dfn>.</p>
<p>Unless otherwise specified, the whole of the C++ Standard's Library
introduction (<cxx-ref in="cxx" to="library"></cxx-ref>) is included into this
Technical Specification by reference.</p>
</cxx-section>
<cxx-section id="parallel.general.namespaces">
<h1>Namespaces and headers</h1>
<p>Since the the extensions described in this Technical Specification are
experimental and not part of the C++ Standard Library, they should not be
declared directly within namespace <code>std</code>. Unless otherwise specified, all
components described in this Technical Specification are declared in namespace
<code>std::experimental::parallel<ins2>_v1</ins2></code>.</p>
<cxx-note>
Once standardized, the components described by this Technical Specification are expected to be promoted to namespace <code>std</code>.
</cxx-note>
<p>Unless otherwise specified, references to such entities described in this
Technical Specification are assumed to be qualified with
<code>std::experimental::parallel<ins2>_v1</ins2></code>, and references to entities described in the C++
Standard Library are assumed to be qualified with <code>std::</code>.</p>
<p>Extensions that are expected to eventually be added to an existing header
<code><meow></code> are provided inside the <code><experimental/meow></code> header,
which shall include the standard contents of <code><meow></code> as if by</p>
<pre>
<code> #include <meow></code>
</pre>
<cxx-section id="parallel.general.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<ins2>_v1</ins2></code> with a formal template parameter named <code>ExecutionPolicy</code>.</p>
</cxx-section>
</cxx-clause>