Skip to content

Commit caa7c52

Browse files
committed
Merge pull request #17 from jaredhoberock/master
Apply changes to N4071 in preparation for post-Rapperswil mailing
2 parents 99921f9 + e945b0d commit caa7c52

File tree

7 files changed

+512
-928
lines changed

7 files changed

+512
-928
lines changed

algorithms.html

Lines changed: 136 additions & 248 deletions
Large diffs are not rendered by default.

exceptions.html

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,27 @@ <h1>Parallel exceptions</h1>
33
<cxx-section id="parallel.exceptions.behavior">
44
<h1>Exception reporting behavior</h1>
55
<p>
6-
<ins2>During the execution of a standard parallel algorithm, </ins2>
7-
<del2>I</del2><ins2>i</ins2>f temporary memory resources are required <del2>by the algorithm</del2> and none are available,
6+
During the execution of a standard parallel algorithm,
7+
if temporary memory resources are required and none are available,
88
the algorithm throws a <code>std::bad_alloc</code> exception.
99
</p>
1010
<p>
11-
During the execution of a standard parallel algorithm, if the application of a function
12-
object terminates with an uncaught exception, the behavior of the program is determined
13-
by the type of execution policy used to invoke the algorithm:
11+
During the execution of a standard parallel algorithm, if the <del>application of a function
12+
object</del><ins>invocation of an element access function</ins> terminates with an uncaught
13+
exception, the behavior of the program is determined by the type of execution policy used to
14+
invoke the algorithm:
1415

1516
<ul>
1617
<li>
17-
If the execution policy object is of type <code>class <del2>vector_execution_policy</del2><ins2>parallel_vector_execution_policy</ins2></code>,
18+
If the execution policy object is of type <code>class parallel_vector_execution_policy</code>,
1819
<code>std::terminate</code> shall be called.
1920
</li>
2021
<li>
2122
If the execution policy object is of type <code>sequential_execution_policy</code> or
2223
<code>parallel_execution_policy</code>, the execution of the algorithm terminates with an
2324
<code>exception_list</code> exception. All uncaught exceptions thrown during
24-
the application of user-provided function objects shall be contained in the
25-
<code>exception_list</code>.<pre>
25+
the <del>application of user-provided function objects</del><ins>invocations of element access functions</ins>
26+
shall be contained in the <code>exception_list</code>.<pre>
2627
</pre>
2728

2829
<cxx-note>
@@ -59,41 +60,28 @@ <h1>Header <code>&lt;experimental/exception_list&gt;</code> synopsis</h1>
5960
namespace std {
6061
namespace experimental {
6162
namespace parallel {
62-
<ins2>inline namespace v1 {</ins2>
63+
inline namespace v1 {
6364

6465
class exception_list : public exception
6566
{
6667
public:
67-
<del2>
68-
typedef exception_ptr value_type;
69-
typedef const value_type&amp; reference;
70-
typedef const value_type&amp; const_reference;
71-
typedef <em>implementation-defined</em> const_iterator;
72-
typedef const_iterator iterator;
73-
typedef typename iterator_traits<ins2>&lt;const_iterator&gt;</ins2>::difference_type difference_type;
74-
typedef size_t size_type;</del2>
75-
<ins2>
76-
typedef <em>unspecified</em> iterator;</ins2>
68+
typedef <em>unspecified</em> iterator;
7769

7870
size_t size() const noexcept;
7971
iterator begin() const noexcept;
8072
iterator end() const noexcept;
8173

82-
<ins2>const char* what() const noexcept override;</ins2>
83-
<del2>
84-
private:
85-
std::list&lt;exception_ptr&gt; exceptions_; // exposition only
86-
</del2>
74+
const char* what() const override noexcept;
8775
};
88-
<ins2>}</ins2>
76+
}
8977
}
9078
}
9179
}
9280
</pre>
9381

9482
<p>
95-
The class <code>exception_list</code> <del2>is a container</del2> <ins2>owns a sequence</ins2> of <code>exception_ptr</code> objects <ins2>.The</ins2> parallel
96-
algorithms may use <ins2>the <code>exception_list</code></ins2> to communicate uncaught exceptions encountered during parallel execution to the
83+
The class <code>exception_list</code> owns a sequence of <code>exception_ptr</code> objects. The parallel
84+
algorithms may use the <code>exception_list</code> to communicate uncaught exceptions encountered during parallel execution to the
9785
caller of the algorithm.
9886
</p>
9987

@@ -118,7 +106,7 @@ <h1>Header <code>&lt;experimental/exception_list&gt;</code> synopsis</h1>
118106

119107
<cxx-function>
120108
<cxx-signature>
121-
<del2>exception_list::</del2>iterator begin() const noexcept;
109+
iterator begin() const noexcept;
122110
</cxx-signature>
123111

124112
<cxx-returns>
@@ -128,21 +116,21 @@ <h1>Header <code>&lt;experimental/exception_list&gt;</code> synopsis</h1>
128116

129117
<cxx-function>
130118
<cxx-signature>
131-
<del2>exception_list::</del2>iterator end() const noexcept;
119+
iterator end() const noexcept;
132120
</cxx-signature>
133121

134122
<cxx-returns>
135-
An iterator <del2>which is the past-the-end value for the <code>exception_list</code></del2> <ins2>that is past the end of the owned sequence.</ins2>
123+
An iterator that is past the end of the owned sequence.
136124
</cxx-returns>
137125
</cxx-function>
138126

139127
<cxx-function>
140128
<cxx-signature>
141-
<ins2>const char* what() const noexcept override;</ins2>
129+
const char* what() const noexcept override;
142130
</cxx-signature>
143131

144132
<cxx-returns>
145-
<ins2>An implementation-defined NTBS.</ins2>
133+
An implementation-defined NTBS.
146134
</cxx-returns>
147135
</cxx-function>
148136
</cxx-section>

0 commit comments

Comments
 (0)