37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
[exec.fwd.env]
|
||
|
||
# 33 Execution control library [[exec]](./#exec)
|
||
|
||
## 33.5 Queries [[exec.queries]](exec.queries#exec.fwd.env)
|
||
|
||
### 33.5.1 forwarding_query [exec.fwd.env]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L837)
|
||
|
||
forwarding_query asks a query object
|
||
whether it should be forwarded through queryable adaptors[.](#1.sentence-1)
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L841)
|
||
|
||
The name forwarding_query denotes a query object[.](#2.sentence-1)
|
||
|
||
For some query object q of type Q,forwarding_query(q) is expression-equivalent to:
|
||
|
||
- [(2.1)](#2.1)
|
||
|
||
*MANDATE-NOTHROW*(q.query(forwarding_query)) if that expression is well-formed[.](#2.1.sentence-1)
|
||
*Mandates*: The expression above has type bool and
|
||
is a core constant expression if q is a core constant expression[.](#2.1.sentence-2)
|
||
|
||
- [(2.2)](#2.2)
|
||
|
||
Otherwise, true if [derived_from](concept.derived#concept:derived_from "18.4.3 Concept derived_from [concept.derived]")<Q, forwarding_query_t> is true[.](#2.2.sentence-1)
|
||
|
||
- [(2.3)](#2.3)
|
||
|
||
Otherwise, false[.](#2.3.sentence-1)
|