Namespaces
Variants

std::meta::info

From cppreference.com
< cpp | meta
Defined in header <meta>
using info = decltype(^^::);
(since C++26)

std::meta::info is the type of reflection values. It is a distinct fundamental type. There exists a unique null reflection; every other reflection represents:

  • a value of scalar type;
  • an object of static storage duration;
  • a variable;
  • a structured binding;
  • a function;
  • a function parameter;
  • an enumerator;
  • an annotation;
  • a type alias;
  • a type;
  • a class member;
  • an unnamed bit-field;
  • a class template;
  • a function template;
  • a variable template;
  • an alias template;
  • a concept;
  • a namespace alias;
  • a namespace;
  • a direct base class relationship; or
  • a data member description.

For the purpose of argument-dependent lookup, the namespace std::meta is an associated namespace of this type.

Values of type std::meta::info are equality-comparable. Note that a reflection of a type alias compares unequal to a reflection of the aliased type.

Example

See also