@@ -3,27 +3,27 @@ <h1>Parallel exceptions</h1>
3
3
< cxx-section id ="parallel.exceptions.behavior ">
4
4
< h1 > Exception reporting behavior</ h1 >
5
5
< 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,
8
8
the algorithm throws a < code > std::bad_alloc</ code > exception.
9
9
</ p >
10
10
< 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
13
13
exception, the behavior of the program is determined by the type of execution policy used to
14
14
invoke the algorithm:
15
15
16
16
< ul >
17
17
< 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 > ,
19
19
< code > std::terminate</ code > shall be called.
20
20
</ li >
21
21
< li >
22
22
If the execution policy object is of type < code > sequential_execution_policy</ code > or
23
23
< code > parallel_execution_policy</ code > , the execution of the algorithm terminates with an
24
24
< 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 >
27
27
</ pre >
28
28
29
29
< cxx-note >
@@ -60,41 +60,41 @@ <h1>Header <code><experimental/exception_list></code> synopsis</h1>
60
60
namespace std {
61
61
namespace experimental {
62
62
namespace parallel {
63
- < ins2 > inline namespace v1 {</ ins2 >
63
+ < ins > inline namespace v1 {</ ins >
64
64
65
65
class exception_list : public exception
66
66
{
67
67
public:
68
- < del2 >
68
+ < del >
69
69
typedef exception_ptr value_type;
70
70
typedef const value_type& reference;
71
71
typedef const value_type& const_reference;
72
72
typedef < em > implementation-defined</ em > const_iterator;
73
73
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 >
78
78
79
79
size_t size() const noexcept;
80
80
iterator begin() const noexcept;
81
81
iterator end() const noexcept;
82
82
83
- < ins2 > const char* what() const noexcept override;</ ins2 >
84
- < del2 >
83
+ < ins > const char* what() const noexcept override;</ ins >
84
+ < del >
85
85
private:
86
86
std::list<exception_ptr> exceptions_; // exposition only
87
- </ del2 >
87
+ </ del >
88
88
};
89
- < ins2 > }</ ins2 >
89
+ < ins > }</ ins >
90
90
}
91
91
}
92
92
}
93
93
</ pre >
94
94
95
95
< 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
98
98
caller of the algorithm.
99
99
</ p >
100
100
@@ -119,7 +119,7 @@ <h1>Header <code><experimental/exception_list></code> synopsis</h1>
119
119
120
120
< cxx-function >
121
121
< cxx-signature >
122
- < del2 > exception_list::</ del2 > iterator begin() const noexcept;
122
+ < del > exception_list::</ del > iterator begin() const noexcept;
123
123
</ cxx-signature >
124
124
125
125
< cxx-returns >
@@ -129,21 +129,21 @@ <h1>Header <code><experimental/exception_list></code> synopsis</h1>
129
129
130
130
< cxx-function >
131
131
< cxx-signature >
132
- < del2 > exception_list::</ del2 > iterator end() const noexcept;
132
+ < del > exception_list::</ del > iterator end() const noexcept;
133
133
</ cxx-signature >
134
134
135
135
< 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 >
137
137
</ cxx-returns >
138
138
</ cxx-function >
139
139
140
140
< cxx-function >
141
141
< cxx-signature >
142
- < ins2 > const char* what() const noexcept override;</ ins2 >
142
+ < ins > const char* what() const noexcept override;</ ins >
143
143
</ cxx-signature >
144
144
145
145
< cxx-returns >
146
- < ins2 > An implementation-defined NTBS.</ ins2 >
146
+ < ins > An implementation-defined NTBS.</ ins >
147
147
</ cxx-returns >
148
148
</ cxx-function >
149
149
</ cxx-section >
0 commit comments