@@ -3,27 +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+ < ins > During the execution of a standard parallel algorithm, </ ins >
7+ < del > I</ del > < ins > i</ ins > f temporary memory resources are required < del > by the algorithm</ del > 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 < del3 > application of a function
12- object</ del3 > < ins3 > invocation of an element access function</ ins > terminates with an uncaught
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
1313 exception, the behavior of the program is determined by the type of execution policy used to
1414 invoke the algorithm:
1515
1616 < ul >
1717 < li >
18- 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 < del > vector_execution_policy</ del > < ins > parallel_vector_execution_policy</ ins > </ code > ,
1919 < code > std::terminate</ code > shall be called.
2020 </ li >
2121 < li >
2222 If the execution policy object is of type < code > sequential_execution_policy</ code > or
2323 < code > parallel_execution_policy</ code > , the execution of the algorithm terminates with an
2424 < code > exception_list</ code > exception. All uncaught exceptions thrown during
25- the < del3 > application of user-provided function objects</ del3 > < ins3 > invocations of element
26- access functions</ ins3 > shall be contained in the < code > exception_list</ code > .< pre >
25+ the < del > application of user-provided function objects</ del > < ins > invocations of element
26+ access functions</ ins > shall be contained in the < code > exception_list</ code > .< pre >
2727</ pre >
2828
2929 < cxx-note >
@@ -60,41 +60,41 @@ <h1>Header <code><experimental/exception_list></code> synopsis</h1>
6060namespace std {
6161namespace experimental {
6262namespace parallel {
63- < ins2 > inline namespace v1 {</ ins2 >
63+ < ins > inline namespace v1 {</ ins >
6464
6565 class exception_list : public exception
6666 {
6767 public:
68- < del2 >
68+ < del >
6969 typedef exception_ptr value_type;
7070 typedef const value_type& reference;
7171 typedef const value_type& const_reference;
7272 typedef < em > implementation-defined</ em > const_iterator;
7373 typedef const_iterator iterator;
74- typedef typename iterator_traits< ins2 > <const_iterator> </ ins2 > ::difference_type difference_type;
75- typedef size_t size_type;</ del2 >
76- < ins2 >
77- typedef < em > unspecified</ em > iterator;</ ins2 >
74+ typedef typename iterator_traits::difference_type difference_type;
75+ typedef size_t size_type;</ del >
76+ < ins >
77+ typedef < em > unspecified</ em > iterator;</ ins >
7878
7979 size_t size() const noexcept;
8080 iterator begin() const noexcept;
8181 iterator end() const noexcept;
8282
83- < ins2 > const char* what() const noexcept override;</ ins2 >
84- < del2 >
83+ < ins > const char* what() const noexcept override;</ ins >
84+ < del >
8585 private:
8686 std::list<exception_ptr> exceptions_; // exposition only
87- </ del2 >
87+ </ del >
8888 };
89- < ins2 > }</ ins2 >
89+ < ins > }</ ins >
9090}
9191}
9292}
9393 </ pre >
9494
9595 < p >
96- 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
97- algorithms may use < ins2 > the < code > exception_list</ code > </ ins2 > to communicate uncaught exceptions encountered during parallel execution to the
96+ The class < code > exception_list</ code > < del > is a container</ del > < ins > owns a sequence</ ins > of < code > exception_ptr</ code > objects< ins > . The</ ins > parallel
97+ algorithms may use < ins > the < code > exception_list</ code > </ ins > to communicate uncaught exceptions encountered during parallel execution to the
9898 caller of the algorithm.
9999 </ p >
100100
@@ -119,7 +119,7 @@ <h1>Header <code><experimental/exception_list></code> synopsis</h1>
119119
120120 < cxx-function >
121121 < cxx-signature >
122- < del2 > exception_list::</ del2 > iterator begin() const noexcept;
122+ < del > exception_list::</ del > iterator begin() const noexcept;
123123 </ cxx-signature >
124124
125125 < cxx-returns >
@@ -129,21 +129,21 @@ <h1>Header <code><experimental/exception_list></code> synopsis</h1>
129129
130130 < cxx-function >
131131 < cxx-signature >
132- < del2 > exception_list::</ del2 > iterator end() const noexcept;
132+ < del > exception_list::</ del > iterator end() const noexcept;
133133 </ cxx-signature >
134134
135135 < cxx-returns >
136- 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 >
136+ An iterator < del > which is the past-the-end value for the < code > exception_list</ code > </ del > < ins > that is past the end of the owned sequence.</ ins >
137137 </ cxx-returns >
138138 </ cxx-function >
139139
140140 < cxx-function >
141141 < cxx-signature >
142- < ins2 > const char* what() const noexcept override;</ ins2 >
142+ < ins > const char* what() const noexcept override;</ ins >
143143 </ cxx-signature >
144144
145145 < cxx-returns >
146- < ins2 > An implementation-defined NTBS.</ ins2 >
146+ < ins > An implementation-defined NTBS.</ ins >
147147 </ cxx-returns >
148148 </ cxx-function >
149149 </ cxx-section >
0 commit comments