27 lines
970 B
Markdown
27 lines
970 B
Markdown
[task.overview]
|
||
|
||
# 33 Execution control library [[exec]](./#exec)
|
||
|
||
## 33.13 Coroutine utilities [[exec.coro.util]](exec.coro.util#task.overview)
|
||
|
||
### 33.13.6 execution::task [[exec.task]](exec.task#task.overview)
|
||
|
||
#### 33.13.6.1 task overview [task.overview]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L7171)
|
||
|
||
The task class template represents a sender that can
|
||
be used as the return type of coroutines[.](#1.sentence-1)
|
||
|
||
The first template parameter T defines the type of the value
|
||
completion datum ([[exec.async.ops]](exec.async.ops "33.3 Asynchronous operations")) if T is not void[.](#1.sentence-2)
|
||
|
||
Otherwise, there are no value completion datums[.](#1.sentence-3)
|
||
|
||
Inside coroutines returning task<T, E> the operand ofco_return (if any) becomes the argument of set_value[.](#1.sentence-4)
|
||
|
||
The second template parameter Environment is used to customize
|
||
the behavior of task[.](#1.sentence-5)
|