|
5789 | 5789 | \pnum
|
5790 | 5790 | \exposid{inline-sender} is an exposition-only type that satisfies
|
5791 | 5791 | \libconcept{sender}.
|
5792 |
| -he type \tcode{completion_signatures_of_t<\exposid{inline-sender}>} |
| 5792 | +The type \tcode{completion_signatures_of_t<\exposid{inline-sender}>} |
5793 | 5793 | is \tcode{completion_signatures<set_value_t()>}.
|
5794 | 5794 |
|
5795 | 5795 | \pnum
|
|
5810 | 5810 | \end{itemize}
|
5811 | 5811 |
|
5812 | 5812 | \pnum
|
5813 |
| -Let \placeholder{o} be a non-\tcode{const} lvalue of type |
5814 |
| -\tcode{\exposid{inline-state}<Rcvr>}, and let \tcode{REC(@\placeholder{o}@)} be |
| 5813 | +Let \tcode{\placeholder{o}} be a non-\tcode{const} lvalue of type |
| 5814 | +\tcode{\exposid{inline-state}<Rcvr>}, and let \tcode{REC(\placeholder{o})} be |
5815 | 5815 | a non-\tcode{const} lvalue reference to an object of type \tcode{Rcvr} that
|
5816 | 5816 | was initialized with the expression \tcode{rcvr} passed to an
|
5817 |
| -invocation of \tcode{connect} that returned \placeholder{o}, then: |
| 5817 | +invocation of \tcode{connect} that returned \tcode{\placeholder{o}}, then: |
5818 | 5818 | \begin{itemize}
|
5819 |
| -\item the object to which \tcode{REC(@\placeholder{o}@)} refers remains valid for |
5820 |
| -the lifetime of the object to which \tcode{@\placeholder{o}@} refers, and |
5821 |
| -\item the expression \tcode{start(@\placeholder{o}@)} is equivalent to |
5822 |
| -\tcode{set_value(std::move(REC(@\placeholder{o}@)))}. |
| 5819 | +\item the object to which \tcode{REC(\placeholder{o})} refers remains valid for |
| 5820 | +the lifetime of the object to which \tcode{\placeholder{o}} refers, and |
| 5821 | +\item the expression \tcode{start(\placeholder{o})} is equivalent to |
| 5822 | +\tcode{set_value(std::move(REC(\placeholder{o})))}. |
5823 | 5823 | \end{itemize}
|
5824 | 5824 |
|
5825 | 5825 | \rSec2[exec.task.scheduler]{\tcode{execution::task_scheduler}}
|
|
5868 | 5868 | \end{itemdecl}
|
5869 | 5869 |
|
5870 | 5870 | \begin{itemdescr}
|
| 5871 | + |
5871 | 5872 | \pnum
|
5872 | 5873 | \effects
|
5873 | 5874 | Initialize \exposid{sch_} with
|
|
5891 | 5892 | \end{itemdecl}
|
5892 | 5893 |
|
5893 | 5894 | \begin{itemdescr}
|
| 5895 | + |
5894 | 5896 | \pnum
|
5895 | 5897 | \effects
|
5896 | 5898 | Returns an object of type \exposid{ts-sender} containing a sender
|
|
5903 | 5905 | \end{itemdecl}
|
5904 | 5906 |
|
5905 | 5907 | \begin{itemdescr}
|
| 5908 | + |
5906 | 5909 | \pnum
|
5907 | 5910 | \effects
|
5908 | 5911 | Equivalent to: \tcode{return lhs == \exposid{SCHED}(rhs);}
|
|
5917 | 5920 | \end{itemdecl}
|
5918 | 5921 |
|
5919 | 5922 | \begin{itemdescr}
|
| 5923 | + |
5920 | 5924 | \pnum
|
5921 | 5925 | \returns
|
5922 | 5926 | \tcode{false} if type of \tcode{\exposid{SCHED}(lhs)} is not \tcode{Sch},
|
|
5989 | 5993 | \end{itemdecl}
|
5990 | 5994 |
|
5991 | 5995 | \begin{itemdescr}
|
| 5996 | + |
5992 | 5997 | \pnum
|
5993 | 5998 | \effects
|
5994 | 5999 | Equivalent to \tcode{start(st)} where \tcode{st} is the operation
|
|
6100 | 6105 | \end{itemdecl}
|
6101 | 6106 |
|
6102 | 6107 | \begin{itemdescr}
|
| 6108 | + |
6103 | 6109 | \pnum
|
6104 | 6110 | \effects
|
6105 | 6111 | Initializes \exposid{handle} with \tcode{exchange(other.\exposid{handle},
|
|
6112 | 6118 | \end{itemdecl}
|
6113 | 6119 |
|
6114 | 6120 | \begin{itemdescr}
|
| 6121 | + |
6115 | 6122 | \pnum
|
6116 | 6123 | \effects
|
6117 | 6124 | Equivalent to:
|
|
6128 | 6135 | \end{itemdecl}
|
6129 | 6136 |
|
6130 | 6137 | \begin{itemdescr}
|
| 6138 | + |
6131 | 6139 | \pnum
|
6132 | 6140 | \expects
|
6133 | 6141 | \tcode{bool(\exposid{handle})} is \tcode{true}.
|
|
6154 | 6162 | void start() & noexcept;
|
6155 | 6163 |
|
6156 | 6164 | private:
|
6157 |
| - using @\exposidnc{own-env-t}@ = @\seebelow@; // \expos |
6158 |
| - coroutine_handle<promise_type> @\exposidnc{handle}@; // \expos |
6159 |
| - remove_cvref_t<Rcvr> @\exposidnc{rcvr}@; // \expos |
6160 |
| - @\exposid{own-env-t}@ @\exposidnc{own-env}@; // \expos |
| 6165 | + using @\exposidnc{own-env-t}@ = @\seebelow@; // \expos |
| 6166 | + coroutine_handle<promise_type> @\exposidnc{handle}@; // \expos |
| 6167 | + remove_cvref_t<Rcvr> @\exposidnc{rcvr}@; // \expos |
| 6168 | + @\exposid{own-env-t}@ @\exposidnc{own-env}@; // \expos |
6161 | 6169 | Environment @\exposidnc{environment}@; // \expos
|
6162 | 6170 | };
|
6163 | 6171 | }
|
6164 | 6172 | \end{codeblock}
|
6165 | 6173 |
|
6166 |
| -\begin{itemdescr} |
6167 | 6174 | \pnum
|
6168 | 6175 | The type \exposid{own-env-t} is \tcode{Environment::template
|
6169 | 6176 | env_type<decltype(get_env(\brk{}declval\brk{}<Rcvr>(\brk{})))\brk{}>} if that
|
6170 | 6177 | \grammarterm{qualified-id} is valid and denotes a type, \tcode{env<>} otherwise.
|
6171 |
| -\end{itemdescr} |
6172 | 6178 |
|
6173 | 6179 | \indexlibraryctor{task::\exposid{state}}%
|
6174 | 6180 | \begin{itemdecl}
|
|
6177 | 6183 | \end{itemdecl}
|
6178 | 6184 |
|
6179 | 6185 | \begin{itemdescr}
|
| 6186 | + |
6180 | 6187 | \pnum
|
6181 | 6188 | \effects
|
6182 | 6189 | Initializes
|
|
6200 | 6207 | \end{itemdecl}
|
6201 | 6208 |
|
6202 | 6209 | \begin{itemdescr}
|
| 6210 | + |
6203 | 6211 | \pnum
|
6204 | 6212 | \effects
|
6205 | 6213 | Equivalent to:
|
|
6215 | 6223 | \end{itemdecl}
|
6216 | 6224 |
|
6217 | 6225 | \begin{itemdescr}
|
| 6226 | + |
6218 | 6227 | \pnum
|
6219 | 6228 | \effects
|
6220 | 6229 | Let \tcode{\placeholder{prom}} be the object \tcode{\exposid{handle}.promise()}.
|
|
6294 | 6303 | stop_source_type @\exposidnc{source}@; // \expos
|
6295 | 6304 | stop_token_type @\exposidnc{token}@; // \expos
|
6296 | 6305 | optional<T> @\exposidnc{result}@; // \expos; present only if \tcode{is_void_v<T>} is \tcode{false};
|
6297 |
| - @\exposid{error-variant}@ @\exposidnc{errors}@; // \expos |
| 6306 | + @\exposid{error-variant}@ @\exposidnc{errors}@; // \expos |
6298 | 6307 | };
|
6299 | 6308 | }
|
6300 | 6309 | \end{codeblock}
|
|
6321 | 6330 | \end{itemdecl}
|
6322 | 6331 |
|
6323 | 6332 | \begin{itemdescr}
|
| 6333 | + |
6324 | 6334 | \pnum
|
6325 | 6335 | \mandates
|
6326 | 6336 | The first parameter of type \tcode{allocator_arg_t} (if any) is not
|
|
6340 | 6350 | \end{itemdecl}
|
6341 | 6351 |
|
6342 | 6352 | \begin{itemdescr}
|
| 6353 | + |
6343 | 6354 | \pnum
|
6344 | 6355 | \returns
|
6345 | 6356 | A \tcode{task} object whose member \exposid{handle} is
|
|
6352 | 6363 | \end{itemdecl}
|
6353 | 6364 |
|
6354 | 6365 | \begin{itemdescr}
|
| 6366 | + |
6355 | 6367 | \pnum
|
6356 | 6368 | \returns
|
6357 | 6369 | An awaitable object of unspecified type\iref{expr.await} whose
|
|
6369 | 6381 | \end{itemdecl}
|
6370 | 6382 |
|
6371 | 6383 | \begin{itemdescr}
|
| 6384 | + |
6372 | 6385 | \pnum
|
6373 | 6386 | \returns
|
6374 | 6387 | An awaitable object of unspecified type\iref{expr.await} whose
|
|
6394 | 6407 | \end{itemdecl}
|
6395 | 6408 |
|
6396 | 6409 | \begin{itemdescr}
|
| 6410 | + |
6397 | 6411 | \pnum
|
6398 | 6412 | \mandates
|
6399 | 6413 | \tcode{std::move(err.error)} is convertible to exactly one of the
|
|
6416 | 6430 | \end{itemdecl}
|
6417 | 6431 |
|
6418 | 6432 | \begin{itemdescr}
|
| 6433 | + |
6419 | 6434 | \pnum
|
6420 | 6435 | \returns
|
6421 | 6436 | If \tcode{\libconcept{same_as}<inline_scheduler, scheduler_type>} is \tcode{true}
|
|
6431 | 6446 | \end{itemdecl}
|
6432 | 6447 |
|
6433 | 6448 | \begin{itemdescr}
|
| 6449 | + |
6434 | 6450 | \pnum
|
6435 | 6451 | \effects
|
6436 | 6452 | Equivalent to:
|
|
6445 | 6461 | \end{itemdecl}
|
6446 | 6462 |
|
6447 | 6463 | \begin{itemdescr}
|
| 6464 | + |
6448 | 6465 | \pnum
|
6449 | 6466 | \effects
|
6450 | 6467 | If the signature \tcode{set_error_t(exception_ptr)} is not an element
|
|
6458 | 6475 | \end{itemdecl}
|
6459 | 6476 |
|
6460 | 6477 | \begin{itemdescr}
|
| 6478 | + |
6461 | 6479 | \pnum
|
6462 | 6480 | \effects
|
6463 | 6481 | Completes the asynchronous operation associated with \tcode{\exposid{STATE}(*this)}
|
6464 | 6482 | by invoking \tcode{set_stopped(std::move(\exposid{RCVR}(*this)))}.
|
6465 | 6483 | \end{itemdescr}
|
6466 | 6484 |
|
6467 | 6485 | \begin{itemdescr}
|
| 6486 | + |
6468 | 6487 | \pnum
|
6469 | 6488 | \returns
|
6470 | 6489 | \tcode{noop_coroutine()}.
|
|
6476 | 6495 | \end{itemdecl}
|
6477 | 6496 |
|
6478 | 6497 | \begin{itemdescr}
|
| 6498 | + |
6479 | 6499 | \pnum
|
6480 | 6500 | \returns
|
6481 | 6501 | An object \tcode{env} such that queries are forwarded as follows:
|
|
6498 | 6518 | \end{itemdecl}
|
6499 | 6519 |
|
6500 | 6520 | \begin{itemdescr}
|
| 6521 | + |
6501 | 6522 | \pnum
|
6502 | 6523 | If there is no parameter with type \tcode{allocator_arg_t} then let
|
6503 | 6524 | \tcode{\placeholder{alloc}} be \tcode{Allocator()}.
|
|
6538 | 6559 | \end{itemdecl}
|
6539 | 6560 |
|
6540 | 6561 | \begin{itemdescr}
|
| 6562 | + |
6541 | 6563 | \pnum
|
6542 | 6564 | \expects
|
6543 | 6565 | \tcode{pointer} was returned from an invocation of the above overload
|
|
0 commit comments