|
1433 | 1433 | \begin{itemdescr}
|
1434 | 1434 | \pnum
|
1435 | 1435 | \requires
|
1436 |
| -\tcode{F} and each $\tcode{T}_i$ in \tcode{Args} shall meet the |
| 1436 | +\tcode{F} and each $\tcode{T}_i$ in \tcode{Args} meet the |
1437 | 1437 | \oldconcept{MoveConstructible} requirements.
|
1438 | 1438 | Either
|
1439 |
| -\tcode{is_invocable_v<decay_t<F>, stop_token, decay_t<Args>...>} is true, |
1440 |
| -or |
1441 |
| -\tcode{is_invocable_v<decay_t<F>, decay_t<Args>...>} is true. |
| 1439 | +\begin{codeblock} |
| 1440 | +@\placeholdernc{INVOKE}@(@\placeholdernc{decay-copy}@(std::forward<F>(f)), get_stop_token(), |
| 1441 | + @\placeholdernc{decay-copy}@(std::forward<Args>(args))...) |
| 1442 | +\end{codeblock} |
| 1443 | +is a valid expression or |
| 1444 | +\begin{codeblock} |
| 1445 | +@\placeholdernc{INVOKE}@(@\placeholdernc{decay-copy}@(std::forward<F>(f)), @\placeholdernc{decay-copy}@(std::forward<Args>(args))...) |
| 1446 | +\end{codeblock} |
| 1447 | +is a valid expression. |
1442 | 1448 |
|
1443 | 1449 | \pnum
|
1444 | 1450 | \constraints
|
|
1449 | 1455 | Initializes \tcode{ssource} and
|
1450 | 1456 | constructs an object of type \tcode{jthread}.
|
1451 | 1457 | The new thread of execution executes
|
1452 |
| - \tcode{% |
1453 |
| - \placeholdernc{INVOKE}(\brk{}% |
1454 |
| - \placeholdernc{decay-copy}(\brk{}% |
1455 |
| - std::forward<F>(f)), |
1456 |
| - get_stop_token(), |
1457 |
| - \placeholdernc{decay-copy}(\brk{}% |
1458 |
| - std::forward\brk{}<Args>(\brk{}args))...)} |
| 1458 | +\begin{codeblock} |
| 1459 | +@\placeholdernc{INVOKE}@(@\placeholdernc{decay-copy}@(std::forward<F>(f)), get_stop_token(), |
| 1460 | + @\placeholdernc{decay-copy}@(std::forward<Args>(args))...) |
| 1461 | +\end{codeblock} |
1459 | 1462 | if that expression is well-formed,
|
1460 | 1463 | otherwise
|
1461 |
| - \tcode{% |
1462 |
| - \placeholdernc{INVOKE}(\brk{}% |
1463 |
| - \placeholdernc{decay-copy}(\brk{}% |
1464 |
| - std::forward\brk{}<F>\brk{}(f)), |
1465 |
| - \placeholdernc{decay-copy}(\brk{}% |
1466 |
| - std::forward<Args>(\brk{}args))...)} |
| 1464 | +\begin{codeblock} |
| 1465 | +@\placeholdernc{INVOKE}@(@\placeholdernc{decay-copy}@(std::forward<F>(f)), @\placeholdernc{decay-copy}@(std::forward<Args>(args))...) |
| 1466 | +\end{codeblock} |
1467 | 1467 | with the calls to
|
1468 | 1468 | \tcode{\placeholder{decay-copy}} being evaluated in the constructing thread.
|
1469 | 1469 | Any return value from this invocation is ignored.
|
|
0 commit comments