26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
[exec.queryable.concept]
|
||
|
||
# 33 Execution control library [[exec]](./#exec)
|
||
|
||
## 33.2 Queries and queryables [[exec.queryable]](exec.queryable#concept)
|
||
|
||
### 33.2.2 queryable concept [exec.queryable.concept]
|
||
|
||
namespace std {template<class T>concept [*queryable*](#concept:queryable "33.2.2 queryable concept [exec.queryable.concept]") = [destructible](concept.destructible#concept:destructible "18.4.10 Concept destructible [concept.destructible]")<T>; // *exposition only*}
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L159)
|
||
|
||
The exposition-only [*queryable*](#concept:queryable "33.2.2 queryable concept [exec.queryable.concept]") concept specifies
|
||
the constraints on the types of queryable objects[.](#1.sentence-1)
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L163)
|
||
|
||
Let env be an object of type Env[.](#2.sentence-1)
|
||
|
||
The type Env models [*queryable*](#concept:queryable "33.2.2 queryable concept [exec.queryable.concept]") if for each callable object q and a pack of subexpressions args,
|
||
if requires { q(env, args...) } is true thenq(env, args...) meets any semantic requirements imposed by q[.](#2.sentence-2)
|