[exec.get.stop.token]

# 33 Execution control library [[exec]](./#exec)

## 33.5 Queries [[exec.queries]](exec.queries#exec.get.stop.token)

### 33.5.3 get_stop_token [exec.get.stop.token]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L881)

get_stop_token asks a queryable object for an associated stop token[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L884)

The name get_stop_token denotes a query object[.](#2.sentence-1)

For a subexpression env,get_stop_token(env) is expression-equivalent to:

- [(2.1)](#2.1)

  *MANDATE-NOTHROW*(*AS-CONST*(env).query(get_stop_token)) if that expression is well-formed[.](#2.1.sentence-1)
  *Mandates*: The type of the expression above satisfies [stoppable_token](stoptoken.concepts#concept:stoppable_token "32.3.3 Stop token concepts [stoptoken.concepts]")[.](#2.1.sentence-2)

- [(2.2)](#2.2)

  Otherwise, never_stop_token{}[.](#2.2.sentence-1)

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L900)

forwarding_query(get_stop_token) is a core constant expression and
has value true[.](#3.sentence-1)
