30 lines
1.0 KiB
Markdown
30 lines
1.0 KiB
Markdown
[exec.opstate.start]
|
||
|
||
# 33 Execution control library [[exec]](./#exec)
|
||
|
||
## 33.8 Operation states [[exec.opstate]](exec.opstate#start)
|
||
|
||
### 33.8.2 execution::start [exec.opstate.start]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L1306)
|
||
|
||
The name start denotes a customization point object
|
||
that starts ([[exec.async.ops]](exec.async.ops "33.3 Asynchronous operations"))
|
||
the asynchronous operation associated with the operation state object[.](#1.sentence-1)
|
||
|
||
For a subexpression op,
|
||
the expression start(op) is ill-formed
|
||
if op is an rvalue[.](#1.sentence-2)
|
||
|
||
Otherwise, it is expression-equivalent to*MANDATE-NOTHROW*(op.start())[.](#1.sentence-3)
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L1316)
|
||
|
||
If op.start() does not start ([[exec.async.ops]](exec.async.ops "33.3 Asynchronous operations"))
|
||
the asynchronous operation associated with the operation state op,
|
||
the behavior of calling start(op) is undefined[.](#2.sentence-1)
|