Skip to content

Commit 757f4aa

Browse files
committed
Finish up clause 3
1 parent f23f5e2 commit 757f4aa

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

exceptions.html

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,80 @@ <h1>Exception reporting behavior</h1>
4949
</ul>
5050
</p>
5151
</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&lt;exception_ptr&gt; 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>
52128
</cxx-clause>

0 commit comments

Comments
 (0)