|
1 | 1 | %!TEX root = ts.tex |
2 | 2 |
|
3 | | -\rSec0[parallel.task_block]{Task Block} |
| 3 | +\rSec0[parallel.taskblock]{Task Block} |
4 | 4 |
|
5 | | -\rSec1[parallel.task_block.synopsis]{Header \tcode{<experimental/task_block> synopsis}} |
| 5 | +\rSec1[parallel.taskblock.synopsis]{Header \tcode{<experimental/task_block> synopsis}} |
6 | 6 |
|
7 | 7 | \begin{codeblock} |
8 | 8 | namespace std::experimental { |
|
20 | 20 | } |
21 | 21 | \end{codeblock} |
22 | 22 |
|
23 | | -\rSec1[parallel.task_block.task_cancelled_exception]{Class \tcode{task_cancelled_exception}} |
| 23 | +\rSec1[parallel.taskblock.task_cancelled_exception]{Class \tcode{task_cancelled_exception}} |
24 | 24 |
|
25 | 25 | \begin{codeblock} |
26 | 26 | namespace std::experimental { |
|
40 | 40 | The class \tcode{task_cancelled_exception} defines the type of objects |
41 | 41 | thrown by \tcode{task_block\colcol{}run} or \tcode{task_block\colcol{}wait} if they detect |
42 | 42 | than an exception is pending within the current parallel block. See |
43 | | -\ref{parallel.task_block.exceptions}, below. |
| 43 | +\ref{parallel.taskblock.exceptions}, below. |
44 | 44 |
|
45 | | -\rSec2[parallel.task_block.task_cancelled_exception.what]{\tcode{task_cancelled_exception} member function \tcode{what}} |
| 45 | +\rSec2[parallel.taskblock.task_cancelled_exception.what]{\tcode{task_cancelled_exception} member function \tcode{what}} |
46 | 46 |
|
47 | 47 | \begin{itemdecl} |
48 | 48 | virtual const char* what() const noexcept; |
|
53 | 53 | \returns An implementation-defined NTBS. |
54 | 54 | \end{itemdescr} |
55 | 55 |
|
56 | | -\rSec1[parallel.task_block.class]{Class \tcode{task_block}} |
| 56 | +\rSec1[parallel.taskblock.class]{Class \tcode{task_block}} |
57 | 57 |
|
58 | 58 | \begin{codeblock} |
59 | 59 | namespace std::experimental { |
|
126 | 126 | Implementations are encouraged to diagnose the above error at translation time. |
127 | 127 | \end{note} |
128 | 128 |
|
129 | | -\rSec2[parallel.task_block.class.run]{\tcode{task_block} member function template \tcode{run}} |
| 129 | +\rSec2[parallel.taskblock.class.run]{\tcode{task_block} member function template \tcode{run}} |
130 | 130 |
|
131 | 131 | \begin{itemdecl} |
132 | 132 | template<class F> void run(F&& f); |
|
153 | 153 | \tcode{define_task_block_restore_thread} that created this \tcode{task_block}). |
154 | 154 |
|
155 | 155 | \pnum |
156 | | -\throws \tcode{task_cancelled_exception}, as described in \ref{parallel.task_block.exceptions}. |
| 156 | +\throws \tcode{task_cancelled_exception}, as described in \ref{parallel.taskblock.exceptions}. |
157 | 157 |
|
158 | 158 | \pnum |
159 | 159 | \remarks The \tcode{run} function may return on a thread other than the |
|
170 | 170 |
|
171 | 171 | \end{itemdescr} |
172 | 172 |
|
173 | | -\rSec2[parallel.task_block.class.wait]{\tcode{task_block} member function \tcode{wait}} |
| 173 | +\rSec2[parallel.taskblock.class.wait]{\tcode{task_block} member function \tcode{wait}} |
174 | 174 |
|
175 | 175 | \begin{itemdecl} |
176 | 176 | void wait(); |
|
184 | 184 | \effects Blocks until the tasks spawned using this \tcode{task_block} have completed. |
185 | 185 |
|
186 | 186 | \pnum |
187 | | -\throws \tcode{task_cancelled_exception}, as described in \ref{parallel.task_block.exceptions}. |
| 187 | +\throws \tcode{task_cancelled_exception}, as described in \ref{parallel.taskblock.exceptions}. |
188 | 188 |
|
189 | 189 | \pnum |
190 | 190 | \postconditions All tasks spawned by the nearest enclosing task block have completed. |
|
208 | 208 |
|
209 | 209 | \end{itemdescr} |
210 | 210 |
|
211 | | -\rSec1[parallel.task_block.define_task_block]{Function template \tcode{define_task_block}} |
| 211 | +\rSec1[parallel.taskblock.define_task_block]{Function template \tcode{define_task_block}} |
212 | 212 |
|
213 | 213 | \begin{itemdecl} |
214 | 214 | template<class F> void define_task_block(F&& f); |
|
223 | 223 | \effects Constructs a \tcode{task_block} \tcode{tb} and calls \tcode{f(tb)}. |
224 | 224 |
|
225 | 225 | \pnum |
226 | | -\throws \tcode{exception_list}, as specified in \ref{parallel.task_block.exceptions}. |
| 226 | +\throws \tcode{exception_list}, as specified in \ref{parallel.taskblock.exceptions}. |
227 | 227 |
|
228 | 228 | \pnum |
229 | 229 | \postconditions All tasks spawned from \tcode{f} have finished execution. |
|
232 | 232 | \remarks The \tcode{define_task_block} function may return on a thread |
233 | 233 | other than the one on which it was called unless there are no task blocks |
234 | 234 | active on entry to \tcode{define_task_block} (see |
235 | | - \ref{parallel.task_block.class}), in which case the function returns on the |
| 235 | + \ref{parallel.taskblock.class}), in which case the function returns on the |
236 | 236 | original thread. When \tcode{define_task_block} returns on a different thread, it |
237 | 237 | synchronizes with operations following the call. \begin{note}The return from |
238 | 238 | \tcode{define_task_block} is ordered similarly to an ordinary function |
|
243 | 243 | \realnotes It is expected (but not mandated) that \tcode{f} will (directly or indirectly) call \tcode{tb.run(\UNSP{function-\brk{}object})}. |
244 | 244 | \end{itemdescr} |
245 | 245 |
|
246 | | -\rSec1[parallel.task_block.exceptions]{Exception Handling} |
| 246 | +\rSec1[parallel.taskblock.exceptions]{Exception Handling} |
247 | 247 |
|
248 | 248 | \pnum |
249 | 249 | Every \tcode{task_block} has an associated exception list. When the task block starts, its associated exception list is empty. |
|
0 commit comments