Skip to content

Commit

Permalink
Moar feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
brevzin committed May 30, 2024
1 parent 3be3bc7 commit 58e4439
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 44 deletions.
24 changes: 11 additions & 13 deletions 2996_reflection/p2996r4.html
Original file line number Diff line number Diff line change
Expand Up @@ -5729,24 +5729,22 @@ <h3 class="unnumbered" id="meta.reflection.queries-reflection-queries">[meta.ref
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_93" id="pnum_93">5</a></span>
<em>Returns</em>:
<code class="sourceCode cpp"><span class="kw">true</span></code> if
<code class="sourceCode cpp">r</code> designates a function or member
function that is defined as deleted. Otherwise,
<code class="sourceCode cpp">r</code> designates a function that is
defined as deleted. Otherwise,
<code class="sourceCode cpp"><span class="kw">false</span></code>.</p>
<div class="sourceCode" id="cb124"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb124-1"><a href="#cb124-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_defaulted<span class="op">(</span>info r<span class="op">)</span>;</span></code></pre></div>
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_94" id="pnum_94">6</a></span>
<em>Returns</em>:
<code class="sourceCode cpp"><span class="kw">true</span></code> if
<code class="sourceCode cpp">r</code> designates a member function that
is defined as defaulted. Otherwise,
<code class="sourceCode cpp">r</code> designates a function that is
defined as defaulted. Otherwise,
<code class="sourceCode cpp"><span class="kw">false</span></code>.</p>
<div class="sourceCode" id="cb125"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb125-1"><a href="#cb125-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_explicit<span class="op">(</span>info r<span class="op">)</span>;</span></code></pre></div>
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_95" id="pnum_95">7</a></span>
<em>Returns</em>:
<code class="sourceCode cpp"><span class="kw">true</span></code> if
<code class="sourceCode cpp">r</code> designates a member function that
is declared
<code class="sourceCode cpp"><span class="kw">explicit</span></code>.
Otherwise,
is declared explicit. Otherwise,
<code class="sourceCode cpp"><span class="kw">false</span></code>.</p>
<div class="sourceCode" id="cb126"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb126-1"><a href="#cb126-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_noexcept<span class="op">(</span>info r<span class="op">)</span>;</span></code></pre></div>
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_96" id="pnum_96">8</a></span>
Expand Down Expand Up @@ -5889,8 +5887,8 @@ <h3 class="unnumbered" id="meta.reflection.queries-reflection-queries">[meta.ref
function template, variable template, class template, or an alias
template. Otherwise,
<code class="sourceCode cpp"><span class="kw">false</span></code>.</p>
<div class="sourceCode" id="cb142"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb142-1"><a href="#cb142-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_class_member<span class="op">(</span>info entity<span class="op">)</span>;</span>
<span id="cb142-2"><a href="#cb142-2" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_namespace_member<span class="op">(</span>info entity<span class="op">)</span>;</span>
<div class="sourceCode" id="cb142"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb142-1"><a href="#cb142-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_class_member<span class="op">(</span>info r<span class="op">)</span>;</span>
<span id="cb142-2"><a href="#cb142-2" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_namespace_member<span class="op">(</span>info r<span class="op">)</span>;</span>
<span id="cb142-3"><a href="#cb142-3" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_nonstatic_data_member<span class="op">(</span>info r<span class="op">)</span>;</span>
<span id="cb142-4"><a href="#cb142-4" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_static_member<span class="op">(</span>info r<span class="op">)</span>;</span>
<span id="cb142-5"><a href="#cb142-5" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_base<span class="op">(</span>info r<span class="op">)</span>;</span>
Expand All @@ -5905,7 +5903,7 @@ <h3 class="unnumbered" id="meta.reflection.queries-reflection-queries">[meta.ref
member, constructor, destructor, or special member, respectively.
Otherwise,
<code class="sourceCode cpp"><span class="kw">false</span></code>.</p>
<div class="sourceCode" id="cb143"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb143-1"><a href="#cb143-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> boo is_user_provided<span class="op">(</span>info r<span class="op">)</span>;</span></code></pre></div>
<div class="sourceCode" id="cb143"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb143-1"><a href="#cb143-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> <span class="dt">bool</span> is_user_provided<span class="op">(</span>info r<span class="op">)</span>;</span></code></pre></div>
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_116" id="pnum_116">28</a></span>
<em>Mandates</em>: <code class="sourceCode cpp">r</code> designates a
function.</p>
Expand Down Expand Up @@ -5933,10 +5931,10 @@ <h3 class="unnumbered" id="meta.reflection.queries-reflection-queries">[meta.ref
<div class="sourceCode" id="cb145"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb145-1"><a href="#cb145-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> info parent_of<span class="op">(</span>info r<span class="op">)</span>;</span></code></pre></div>
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_120" id="pnum_120">32</a></span>
<em>Mandates</em>: <code class="sourceCode cpp">r</code> designates a
member of a class or a namespace.</p>
member of either a class or a namespace.</p>
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_121" id="pnum_121">33</a></span>
<em>Returns</em>: A reflection of the that entity’s immediately
enclosing class or namespace.</p>
<em>Returns</em>: A reflection of that entity’s immediately enclosing
class or namespace.</p>
<div class="sourceCode" id="cb146"><pre class="sourceCode cpp"><code class="sourceCode cpp"><span id="cb146-1"><a href="#cb146-1" aria-hidden="true" tabindex="-1"></a><span class="kw">consteval</span> info dealias<span class="op">(</span>info r<span class="op">)</span>;</span></code></pre></div>
<p><span class="marginalizedparent"><a class="marginalized" href="#pnum_122" id="pnum_122">34</a></span>
<em>Returns</em>: If <code class="sourceCode cpp">r</code> designates a
Expand Down
50 changes: 19 additions & 31 deletions 2996_reflection/reflection.md
Original file line number Diff line number Diff line change
Expand Up @@ -3750,19 +3750,19 @@ consteval bool is_override(info r);
consteval bool is_deleted(info r);
```

[#]{.pnum} *Returns*: `true` if `r` designates a function or member function that is defined as deleted. Otherwise, `false`.
[#]{.pnum} *Returns*: `true` if `r` designates a function that is defined as deleted. Otherwise, `false`.

```cpp
consteval bool is_defaulted(info r);
```

[#]{.pnum} *Returns*: `true` if `r` designates a member function that is defined as defaulted. Otherwise, `false`.
[#]{.pnum} *Returns*: `true` if `r` designates a function that is defined as defaulted. Otherwise, `false`.

```cpp
consteval bool is_explicit(info r);
```

[#]{.pnum} *Returns*: `true` if `r` designates a member function that is declared `explicit`. Otherwise, `false`.
[#]{.pnum} *Returns*: `true` if `r` designates a member function that is declared explicit. Otherwise, `false`.

```cpp
consteval bool is_noexcept(info r);
Expand Down Expand Up @@ -3835,10 +3835,10 @@ consteval bool is_incomplete_type(info r);
```
[#]{.pnum} *Mandates*: `r` is a reflection designating a type.

[#]{.pnum} *Returns*: `false` if the type designated by `dealias(r)` is a complete class type. Otherwise, `true`.

[#]{.pnum} *Effects*: If `dealias(r)` designates a class template specialization with a reachable definition, the specialization is instantiated.

[#]{.pnum} *Returns*: `false` if the type designated by `dealias(r)` is a complete class type. Otherwise, `true`.

```cpp
consteval bool is_template(info r);
```
Expand Down Expand Up @@ -3869,8 +3869,8 @@ consteval bool has_template_arguments(info r);


```cpp
consteval bool is_class_member(info entity);
consteval bool is_namespace_member(info entity);
consteval bool is_class_member(info r);
consteval bool is_namespace_member(info r);
consteval bool is_nonstatic_data_member(info r);
consteval bool is_static_member(info r);
consteval bool is_base(info r);
Expand All @@ -3882,7 +3882,7 @@ consteval bool is_special_member(info r);
[#]{.pnum} *Returns*: `true` if `r` designates a class member, namespace member, non-static data member, static member, base class member, constructor, destructor, or special member, respectively. Otherwise, `false`.

```cpp
consteval boo is_user_provided(info r);
consteval bool is_user_provided(info r);
```

[#]{.pnum} *Mandates*: `r` designates a function.
Expand All @@ -3901,9 +3901,9 @@ consteval info type_of(info r);
consteval info parent_of(info r);
```

[#]{.pnum} *Mandates*: `r` designates a member of a class or a namespace.
[#]{.pnum} *Mandates*: `r` designates a member of either a class or a namespace.

[#]{.pnum} *Returns*: A reflection of the that entity's immediately enclosing class or namespace.
[#]{.pnum} *Returns*: A reflection of that entity's immediately enclosing class or namespace.

```cpp
consteval info dealias(info r);
Expand Down Expand Up @@ -3959,18 +3959,16 @@ template<class... Fs>

[#]{.pnum} *Mandates*: `r` is a reflection designating either a complete class type or a namespace and `(std::predicate<Fs, info> && ...)` is `true`.

[#]{.pnum} *Effects*: If `dealias(r)` designates a class template specialization with a reachable definition, the specialization is instantiated.

[#]{.pnum} *Returns*: A `vector` containing the reflections of all the direct members `m` of the entity, excluding any structured bindings, designated by `r` such that `(filters(m) && ...)` is `true`.
Non-static data members are indexed in the order in which they are declared, but the order of other kinds of members is unspecified. [Base classes are not members.]{.note}

[#]{.pnum} *Effects*: If `dealias(r)` designates a class template specialization with a reachable definition, the specialization is instantiated.

```cpp
template<class... Fs>
consteval vector<info> accessible_members_of(info type, Fs... filters);
```

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Effects*: Equivalent to: `return members_of(type, is_accessible, filters...);`

```cpp
Expand All @@ -3980,50 +3978,40 @@ template<class... Fs>

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type and `(std::predicate<Fs, info> && ...)` is `true`.

[#]{.pnum} *Effects*: If `dealias(type)` designates a class template specialization with a reachable definition, the specialization is instantiated.

[#]{.pnum} *Returns*: Let `C` be the type designated by `type`. A `vector` containing the reflections of all the direct base classes `b`, if any, of `C` such that `(filters(b) && ...)` is `true`.
The base classes are indexed in the order in which they appear in the *base-specifier-list* of `C`.

[#]{.pnum} *Effects*: If `dealias(type)` designates a class template specialization with a reachable definition, the specialization is instantiated.

```cpp
template<class... Fs>
consteval vector<info> accessible_bases_of(info type, Fs... filters);
```

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Effects*: Equivalent to: `return bases_of(r, is_accessible, filters...);`
[#]{.pnum} *Effects*: Equivalent to: `return bases_of(type, is_accessible, filters...);`

```cpp
consteval vector<info> static_data_members_of(info type);
```

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Effects*: Equivalent to: `return members_of(type, is_variable);`

```cpp
consteval vector<info> accessible_static_data_members_of(info type);
```

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Effects*: Equivalent to: `return members_of(type, is_variable, is_accessible);`

```cpp
consteval vector<info> nonstatic_data_members_of(info type);
```

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Effects*: Equivalent to: `return members_of(type, is_nonstatic_data_member);`

```cpp
consteval vector<info> accessible_nonstatic_data_members_of(info type);
```

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Effects*: Equivalent to: `return members_of(type, is_nonstatic_data_member, is_accessible);`

```cpp
Expand All @@ -4032,20 +4020,20 @@ consteval vector<info> subobjects_of(info type);

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Returns*: A `vector` containing all the reflections in `bases_of(type)` followed by all the reflections in `nonstatic_data_members_of(type)`.

[#]{.pnum} *Effects*: If `dealias(type)` designates a class template specialization with a reachable definition, the specialization is instantiated.

[#]{.pnum} *Returns*: A `vector` containing all the reflections in `bases_of(type)` followed by all the reflections in `nonstatic_data_members_of(type)`.

```cpp
consteval vector<info> accessible_subobjects_of(info type);
```

[#]{.pnum} *Mandates*: `type` is a reflection designating a complete class type.

[#]{.pnum} *Returns*: A `vector` containing all the reflections in `accessible_bases_of(type)` followed by all the reflections in `accessible_nonstatic_data_members_of(type)`.

[#]{.pnum} *Effects*: If `dealias(type)` designates a class template specialization with a reachable definition, the specialization is instantiated.

[#]{.pnum} *Returns*: A `vector` containing all the reflections in `accessible_bases_of(type)` followed by all the reflections in `accessible_nonstatic_data_members_of(type)`.

```cpp
consteval vector<info> enumerators_of(info type_enum);
```
Expand Down

0 comments on commit 58e4439

Please sign in to comment.