Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 18 additions & 14 deletions source/basic.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5640,7 +5640,7 @@
\begin{codeblock}
int arr[] = {1, 2, 3};
auto [a1, a2, a3] = arr;
void fn();
[[=1]] void fn(int n);
enum Enum { A };
using Alias = int;
struct B {};
Expand All @@ -5651,6 +5651,7 @@
template<auto> struct TCls {};
template<auto> void TFn();
template<auto> int TVar;
template<auto N> using TAlias = TCls<N>;
template<auto> concept Concept = requires { true; };
namespace NS {};
namespace NSAlias = NS;
Expand All @@ -5662,19 +5663,22 @@
constexpr auto r3 = ^^arr; // represents a variable
constexpr auto r4 = ^^a3; // represents a structured binding
constexpr auto r5 = ^^fn; // represents a function
constexpr auto r6 = ^^Enum::A; // represents an enumerator
constexpr auto r7 = ^^Alias; // represents a type alias
constexpr auto r8 = ^^S; // represents a type
constexpr auto r9 = ^^S::mem; // represents a class member
constexpr auto r10 = std::meta::members_of(^^S, ctx)[1]; // represents an unnamed bit-field
constexpr auto r11 = ^^TCls; // represents a class template
constexpr auto r12 = ^^TFn; // represents a function template
constexpr auto r13 = ^^TVar; // represents a variable template
constexpr auto r14 = ^^Concept; // represents a concept
constexpr auto r15 = ^^NSAlias; // represents a namespace alias
constexpr auto r16 = ^^NS; // represents a namespace
constexpr auto r17 = std::meta::bases_of(^^S, ctx)[0]; // represents a direct base class relationship
constexpr auto r18 =
constexpr auto r6 = std::meta::parameters_of(^^fn)[0]; // represents a function parameter
constexpr auto r7 = ^^Enum::A; // represents an enumerator
constexpr auto r8 = std::meta::annotations_of(^^fn)[0]; // represents an annotation
constexpr auto r9 = ^^Alias; // represents a type alias
constexpr auto r10 = ^^S; // represents a type
constexpr auto r11 = ^^S::mem; // represents a class member
constexpr auto r12 = std::meta::members_of(^^S, ctx)[1]; // represents an unnamed bit-field
constexpr auto r13 = ^^TCls; // represents a class template
constexpr auto r14 = ^^TFn; // represents a function template
constexpr auto r15 = ^^TVar; // represents a variable template
constexpr auto r16 = ^^TAlias; // represents an alias template
constexpr auto r17 = ^^Concept; // represents a concept
constexpr auto r18 = ^^NSAlias; // represents a namespace alias
constexpr auto r19 = ^^NS; // represents a namespace
constexpr auto r20 = std::meta::bases_of(^^S, ctx)[0]; // represents a direct base class relationship
constexpr auto r21 =
std::meta::data_member_spec(^^int, {.name="member"}); // represents a data member description
\end{codeblock}
\end{example}
Expand Down