[exec.simple.counting.token] # 33 Execution control library [[exec]](./#exec) ## 33.14 Execution scope utilities [[exec.scope]](exec.scope#exec.simple.counting.token) ### 33.14.2 Counting Scopes [[exec.counting.scopes]](exec.counting.scopes#exec.simple.counting.token) #### 33.14.2.2 Simple Counting Scope [[exec.scope.simple.counting]](exec.scope.simple.counting#exec.simple.counting.token) #### 33.14.2.2.4 Token [exec.simple.counting.token] [🔗](#lib:execution::simple_counting_scope::token) namespace std::execution {struct simple_counting_scope::token {template<[sender](exec.snd.concepts#concept:sender "33.9.3 Sender concepts [exec.snd.concepts]") Sender> Sender&& wrap(Sender&& snd) const noexcept; bool try_associate() const noexcept; void disassociate() const noexcept; private: simple_counting_scope* *scope*; // *exposition only*};} [🔗](#lib:wrap,execution::simple_counting_scope::token) `template<[sender](exec.snd.concepts#concept:sender "33.9.3 Sender concepts [exec.snd.concepts]") Sender> Sender&& wrap(Sender&& snd) const noexcept; ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L8160) *Returns*: std​::​forward(snd)[.](#1.sentence-1) [🔗](#lib:try_associate,execution::simple_counting_scope::token) `bool try_associate() const noexcept; ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L8171) *Effects*: Equivalent to: return *scope*->*try-associate*(); [🔗](#lib:disassociate,execution::simple_counting_scope::token) `void disassociate() const noexcept; ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L8182) *Effects*: Equivalent to *scope*->*disassociate*()[.](#3.sentence-1)