@@ -49,4 +49,80 @@ <h1>Exception reporting behavior</h1>
49
49
</ ul >
50
50
</ p >
51
51
</ cxx-section >
52
+ < cxx-section id ="parallel.exceptions.synop ">
53
+ < pre >
54
+ namespace std {
55
+ namespace experimental {
56
+ namespace parallel {
57
+ class exception_list : public exception
58
+ {
59
+ public:
60
+ typedef exception_ptr value_type;
61
+ typedef const value_type& reference;
62
+ typedef const value_type& const_reference;
63
+ typedef < em > implementation-defined</ em > const_iterator;
64
+ typedef const_iterator iterator;
65
+ < ins > typedef typename iterator_traits< const _iterator > ::difference_type difference_type;</ ins >
66
+ typedef size_t size_type;
67
+
68
+ < del > size_t size() const;</ del >
69
+ < ins > size_t size() const noexcept;</ ins >
70
+ < del > iterator begin() const;</ del >
71
+ < ins > iterator begin() const noexcept;</ ins >
72
+ < del > iterator end() const;</ del >
73
+ < ins > iterator end() const noexcept;</ ins >
74
+
75
+ private:
76
+ std::list<exception_ptr> exceptions_; // exposition only
77
+ };
78
+ }
79
+ }
80
+ }
81
+ </ pre >
82
+
83
+ < p >
84
+ The class < code > exception_list</ code > is a container of < code > exception_ptr</ code > objects parallel
85
+ algorithms may use to communicate uncaught exceptions encountered during parallel execution to the
86
+ caller of the algorithm.
87
+ </ p >
88
+
89
+ < p >
90
+ < ins > The type < code > exception_list::const_iterator</ code > shall fulfill the requirements of
91
+ < code > ForwardIterator</ code > </ ins > .
92
+ </ p >
93
+
94
+ < cxx-function >
95
+ < cxx-signature >
96
+ size_t size() const < ins > noexcept</ ins > ;
97
+ </ cxx-signature >
98
+
99
+ < cxx-returns >
100
+ The number of < code > exception_ptr</ code > objects contained within the < code > exception_list</ code > .
101
+ </ cxx-returns >
102
+
103
+ < cxx-complexity >
104
+ Constant time.
105
+ </ cxx-complexity >
106
+ </ cxx-function >
107
+
108
+ < cxx-function >
109
+ < cxx-signature >
110
+ exception_list::iterator begin() const < ins > noexcept</ ins > ;
111
+ </ cxx-signature >
112
+
113
+ < cxx-returns >
114
+ An iterator referring to the first < code > exception_ptr</ code > object contained within the < code > exception_list</ code > .
115
+ </ cxx-returns >
116
+ </ cxx-function >
117
+
118
+ < cxx-function >
119
+ < cxx-signature >
120
+ exception_list::iterator end() const < ins > noexcept</ ins > ;
121
+ </ cxx-signature >
122
+
123
+ < cxx-returns >
124
+ An iterator which is the past-the-end value for the < code > exception_list</ code > .
125
+ </ cxx-returns >
126
+ </ cxx-function >
127
+ </ cxx-section >
52
128
</ cxx-clause >
0 commit comments