Namensräume
Varianten
Aktionen

Experimentelle Header-Bibliothek <experimental/reflect>

Von cppreference.com
< cpp‎ | header‎ | experimental
 
 
Header der Standardbibliothek
 
Experimentelle Bibliotheks-Header
Ausführung P2300
<experimental/execution>
Filesystem TS
<experimental/filesystem>
Parallelism TS (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
<experimental/simd>
experimental/task_block
Library Fundamentals TS (v1, v2, v3)
experimental/algorithm
<experimental/any>
experimental/array
experimental/chrono
experimental/deque
experimental/forward_list
<experimental/functional>
experimental/future
experimental/iterator
experimental/list
experimental/map
experimental/memory
<experimental/memory_resource>
experimental/numeric
<experimental/optional>
experimental/propagate_const
experimental/random
experimental/ratio
experimental/regex
experimental/scope
experimental/set
experimental/source_location
experimental/string
<experimental/string_view>
experimental/system_error
experimental/tuple
experimental/type_traits
experimental/unordered_map
experimental/unordered_set
experimental/utility
experimental/vector

Concurrency TS
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
Ranges TS
Coroutines TS
experimental/coroutine
Networking TS
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
<experimental/net>
experimental/netfwd
experimental/socket
experimental/timer
Reflection TS
<experimental/reflect>
 

Dieser Header ist Teil des Reflection TS.

Definiert im Namespace std::experimental::reflect
Definiert im Inline-Namespace std::experimental::reflect::v1

Inhalt

Konzepte

Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Typ ein Meta-Objekt-Typ ist
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ ein Meta-Objekt-Sequenz-Typ ist
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Template-Parameterbereich widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Entität oder einen Alias mit einem zugehörigen (möglicherweise leeren) Namen widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Typ-Alias, einen Namespace-Alias oder einen über eine using-Deklaration eingeführten Alias widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Member-Deklaration einer Klasse widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Enumerator widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Variable oder ein Datenelement widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ RecordMember, Enumerator oder Variable erfüllt oder einen Namespace außer dem globalen Namespace widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Entität mit einem Typ widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Namespace widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ den globalen Namespace widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Nicht-Union-Klassentyp widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Aufzählungstyp widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Klassentyp widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Namespace, eine Klasse, eine Aufzählung, eine Funktion, einen Closure-Typ oder einen Template-Parameterbereich widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Typ widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Enumerator oder eine constexpr-Variable widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine direkte Basisklasse widerspiegelt, die von get_base_classes erhalten wurde
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Funktionsparameter widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Funktion (einschließlich Konstruktoren und Destruktoren) widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Ausdruck widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen geklammerten Ausdruck widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Funktionsaufrufausdruck widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Funktionstyp-Konversionsausdruck widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Funktion (ohne Konstruktoren und Destruktoren) widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Memberfunktion (ohne Konstruktoren und Destruktoren) widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine spezielle Memberfunktion widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Konstruktor widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Destruktor widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Operatorfunktion oder eine Konvertierungsfunktion widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ eine Konvertierungsfunktion widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ den Closure-Typ eines nicht-generischen Lambdas widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
gibt an, dass ein Meta-Objekt-Typ einen Lambda-Capture widerspiegelt
spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist

Klassen

Object-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob zwei Meta-Objekt-Typen dieselbe Entität oder denselben Alias widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft die vermutete Zeilennummer der Deklaration der gespiegelten Entität oder des gespiegelten Alias ab
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft die implementierungsdefinierte Spaltennummer der Deklaration der gespiegelten Entität oder des gespiegelten Alias ab
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den vermuteten Dateinamen der Deklaration der gespiegelten Entität oder des gespiegelten Alias ab
(Klassentemplate)
ObjectSequence-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft die Größe einer Meta-Objekt-Sequenz ab
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ mit dem angegebenen Index in einer Sequenz ab
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
wendet ein Template auf die Meta-Objekt-Sequenz an
(Klassentemplate)
Named-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Entität oder der gespiegelte Alias benannt ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den unqualified Namen der gespiegelten Entität oder des gespiegelten Alias ab
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den implementierungsdefinierten Anzeigenamen der gespiegelten Entität oder des gespiegelten Alias ab
(Klassentemplate)
Alias-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der die zugehörige Entität des gespiegelten Alias widerspiegelt
(Klassentemplate)
Type-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der den Typ der gespiegelten Entität oder des gespiegelten Alias widerspiegelt
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Typ der gespiegelten Entität oder des gespiegelten Alias ab
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der Meta-Objekt-Typ einen Aufzählungstyp widerspiegelt
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der Meta-Objekt-Typ einen Union-Typ widerspiegelt
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der Meta-Objekt-Typ einen Nicht-Union-Klassentyp widerspiegelt, dessen Deklaration class oder struct verwendet
(Klassentemplate)
ScopeMember-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der den Bereich der gespiegelten Entität oder des gespiegelten Alias widerspiegelt
(Klassentemplate)
Base-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der die Basisklasse in der gegebenen Basisklassenbeziehung widerspiegelt
(Klassentemplate)
RecordMember- und Base-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob das gespiegelte Mitglied oder die gespiegelte Basisklasse öffentlich ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob das gespiegelte Mitglied oder die gespiegelte Basisklasse geschützt ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob das gespiegelte Mitglied oder die gespiegelte Basisklasse privat ist
(Klassentemplate)
Record-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente öffentliche, zugängliche oder alle Datenelemente der gespiegelten Klasse widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente öffentliche, zugängliche oder alle Memberfunktionen der gespiegelten Klasse widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente alle Konstruktoren der gespiegelten Klasse widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente alle in der gespiegelten Klasse deklarierten Operatorfunktionen und Konvertierungsfunktionen widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der den Destruktor der gespiegelten Klasse widerspiegelt
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente öffentliche, zugängliche oder alle verschachtelten Typen oder Member-Typedefs der gespiegelten Klasse widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente öffentliche, zugängliche oder alle Basisklassen der gespiegelten Klasse widerspiegeln
(Klassentemplate)
Enum-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Aufzählung von einem Namespace umschlossen ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente die Enumeratoren der gespiegelten Aufzählung widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der den zugrunde liegenden Typ der gespiegelten Aufzählung widerspiegelt
(Klassentemplate)
Variable-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Wert der gespiegelten Variablen ab, die ein konstantes Ausdruck ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die Variable mit thread_local deklariert ist
(Klassentemplate)
FunctionParameter-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der gespiegelte Parameter ein Standardargument hat
(Klassentemplate)
Callable-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente die Parameter der gespiegelten Funktion widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die Parameterliste der gespiegelten Funktion einen Ellipsis-Parameter enthält
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Funktion nicht-werfend ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Funktion gelöscht ist
(Klassentemplate)
Variable- und Callable-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Variable oder Funktion constexpr ist
(Klassentemplate)
Namespace- und Callable-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der gespiegelte Namespace oder die gespiegelte Funktion inline ist
(Klassentemplate)
ParenthesizedExpression-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der den nicht geklammerten Ausdruck des gespiegelten geklammerten Ausdrucks widerspiegelt
(Klassentemplate)
FunctionCallExpression-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der die Funktion im gespiegelten Funktionsaufrufausdruck widerspiegelt
(Klassentemplate)
FunctionalTypeConversion-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft den Meta-Objekt-Typ ab, der den Konstruktor im gespiegelten Funktionstyp-Konversionsausdruck widerspiegelt
(Klassentemplate)
Variable- und Function-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft die Adresse der gespiegelten Variablen oder Funktion ab, oder den Pointer-to-Member-Wert für das gespiegelte nicht-statische Member
(Klassentemplate)
MemberFunction-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Memberfunktion mit einem const, volatile, & oder && Qualifier deklariert ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Memberfunktion eine Memberfunktion einer Basisklasse überschreibt
(Klassentemplate)
Record- und MemberFunction-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Klasse oder Memberfunktion mit final markiert ist
(Klassentemplate)
Variable- und MemberFunction-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Variable eine statische Speicherdauer hat oder die gespiegelte Memberfunktion statisch ist
(Klassentemplate)
SpecialMemberFunction-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte spezielle Memberfunktion implizit deklariert ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte spezielle Memberfunktion in ihrer ersten Deklaration standardmäßig definiert ist
(Klassentemplate)
Constructor- und ConversionOperator-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der gespiegelte Konstruktor oder die gespiegelte Konvertierungsfunktion mit explicit deklariert ist
(Klassentemplate)
MemberFunction- und Destructor-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Memberfunktion virtuell ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die gespiegelte Memberfunktion rein virtuell ist
(Klassentemplate)
Lambda-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
ruft einen Meta-Objekt-Sequenz-Typ ab, dessen Elemente die Captures des gespiegelten Closure-Typs widerspiegeln
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob die Capture-Standardeinstellung des Lambda-Ausdrucks des gespiegelten Closure-Typs = oder & ist
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der operator() des gespiegelten Closure-Typs mit const deklariert ist
(Klassentemplate)
LambdaCapture-Operationen
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der gespiegelte Lambda-Capture explizit erfasst wurde
(Klassentemplate)
Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird.
prüft, ob der gespiegelte Lambda-Capture ein Init-Capture ist
(Klassentemplate)

[bearbeiten] Synopsis

namespace std::experimental::reflect {
inline namespace v1 {
 
// 21.12.3 Concepts for meta-object types
template <class T>
concept Object = /* see description */;
template <class T>
concept ObjectSequence = /* see description */; // refines Object
template <class T>
concept TemplateParameterScope = /* see description */; // refines Scope
template <class T>
concept Named = /* see description */;          // refines Object
template <class T>
concept Alias = /* see description */;          // refines Named and ScopeMember
template <class T>
concept RecordMember = /* see description */;   // refines ScopeMember
template <class T>
concept Enumerator = /* see description */;     // refines Constant
template <class T>
concept Variable = /* see description */;       // refines Typed and ScopeMember
template <class T>
concept ScopeMember = /* see description */;    // refines Named
template <class T>
concept Typed = /* see description */;          // refines Object
template <class T>
concept Namespace = /* see description */;      // refines Named and Scope
template <class T>
concept GlobalScope = /* see description */;    // refines Namespace
template <class T>
concept Class = /* see description */;          // refines Record
template <class T>
concept Enum = /* see description */;           // refines Type, Scope, and ScopeMember
template <class T>
concept Record = /* see description */;         // refines Type, Scope, and ScopeMember
template <class T>
concept Scope = /* see description */;          // refines Object
template <class T>
concept Type = /* see description */;           // refines Named
template <class T>
concept Constant = /* see description */;       // refines Typed and ScopeMember
template <class T>
concept Base = /* see description */;           // refines Object
template <class T>
concept FunctionParameter = /* see description */; // refines Typed and ScopeMember
template <class T>
concept Callable = /* see description */;       // refines Scope and ScopeMember
template <class T>
concept Expression = /* see description */;     // refines Object
template <class T>
concept ParenthesizedExpression = /* see description */; // refines Expression
template <class T>
concept FunctionCallExpression = /* see description */; // refines Expression
template <class T>
concept FunctionalTypeConversion = /* see description */; // refines Expression
template <class T>
concept Function = /* see description */;       // refines Typed and Callable
template <class T>
concept MemberFunction = /* see description */; // refines RecordMember and Function
template <class T>
concept SpecialMemberFunction = /* see description */; // refines RecordMember
template <class T>
concept Constructor = /* see description */;    // refines Callable and RecordMember
template <class T>
concept Destructor = /* see description */;     // refines Callable and SpecialMemberFunction
template <class T>
concept Operator = /* see description */;       // refines Function
template <class T>
concept ConversionOperator = /* see description */; // refines MemberFunction and Operator
template <class T>
concept Lambda = /* see description */;         // refines Type and Scope
template <class T>
concept LambdaCapture = /* see description */;  // refines Variable
 
// 21.12.4 Meta-object operations
// Multi-concept operations
template <Object T> struct is_public;
template <Object T> struct is_protected;
template <Object T> struct is_private;
template <Object T> struct is_constexpr;
template <Object T> struct is_static;
template <Object T> struct is_final;
template <Object T> struct is_explicit;
template <Object T> struct is_inline;
template <Object T> struct is_virtual;
template <Object T> struct is_pure_virtual;
template <Object T> struct get_pointer;
 
template <class T>
requires RecordMember<T> || Base<T>
  constexpr auto is_public_v = is_public<T>::value;
template <class T>
requires RecordMember<T> || Base<T>
  constexpr auto is_protected_v = is_protected<T>::value;
template <class T>
requires RecordMember<T> || Base<T>
  constexpr auto is_private_v = is_private<T>::value;
template <class T>
requires Variable<T> || Callable<T>
  constexpr auto is_constexpr_v = is_constexpr<T>::value;
template <class T>
requires Variable<T> || MemberFunction<T>
  constexpr auto is_static_v = is_static<T>::value;
template <class T>
requires Class<T> || MemberFunction<T>
  constexpr auto is_final_v = is_final<T>::value;
template <class T>
requires Constructor<T> || ConversionOperator<T>
  constexpr auto is_explicit_v = is_explicit<T>::value;
template <class T>
requires Namespace<T> || Callable<T>
  constexpr auto is_inline_v = is_inline<T>::value;
template <class T>
requires Base<T> || MemberFunction<T> || Destructor<T>
  constexpr auto is_virtual_v = is_virtual<T>::value;
template <class T>
requires MemberFunction<T> || Destructor<T>
  constexpr auto is_pure_virtual_v = is_pure_virtual<T>::value;
template <class T>
requires Variable<T> || Function<T>
  constexpr auto get_pointer_v = get_pointer<T>::value;
 
// 21.12.4.1 Object operations
template <Object T1, Object T2> struct reflects_same;
template <Object T> struct get_source_line;
template <Object T> struct get_source_column;
template <Object T> struct get_source_file_name;
 
template <Object T1, Object T2>
  constexpr auto reflects_same_v = reflects_same<T1, T2>::value;
template <class T>
  constexpr auto get_source_line_v = get_source_line<T>::value;
template <class T>
  constexpr auto get_source_column_v = get_source_column<T>::value;
template <class T>
  constexpr auto get_source_file_name_v = get_source_file_name<T>::value;
 
// 21.12.4.2 ObjectSequence operations
template <ObjectSequence T> struct get_size;
template <size_t I, ObjectSequence T> struct get_element;
template <template <class...> class Tpl, ObjectSequence T>
  struct unpack_sequence;
 
template <ObjectSequence T>
  constexpr auto get_size_v = get_size<T>::value;
template <size_t I, ObjectSequence T>
  using get_element_t = typename get_element<I, T>::type;
template <template <class...> class Tpl, ObjectSequence T>
  using unpack_sequence_t = typename unpack_sequence<Tpl, T>::type;
 
// 21.12.4.3 Named operations
template <Named T> struct is_unnamed;
template <Named T> struct get_name;
template <Named T> struct get_display_name;
 
template <Named T>
  constexpr auto is_unnamed_v = is_unnamed<T>::value;
template <Named T>
  constexpr auto get_name_v = get_name<T>::value;
template <Named T>
  constexpr auto get_display_name_v = get_display_name<T>::value;
 
// 21.12.4.4 Alias operations
template <Alias T> struct get_aliased;
 
template <Alias T>
  using get_aliased_t = typename get_aliased<T>::type;
 
// 21.12.4.5 Type operations
template <Typed T> struct get_type;
template <Type T> struct get_reflected_type;
template <Type T> struct is_enum;
template <Class T> struct uses_class_key;
template <Class T> struct uses_struct_key;
template <Type T> struct is_union;
 
template <Typed T>
  using get_type_t = typename get_type<T>::type;
template <Type T>
  using get_reflected_type_t = typename get_reflected_type<T>::type;
template <Type T>
  constexpr auto is_enum_v = is_enum<T>::value;
template <Class T>
  constexpr auto uses_class_key_v = uses_class_key<T>::value;
template <Class T>
  constexpr auto uses_struct_key_v = uses_struct_key<T>::value;
template <Type T>
  constexpr auto is_union_v = is_union<T>::value;
 
// 21.12.4.6 Member operations
template <ScopeMember T> struct get_scope;
template <RecordMember T> struct is_public<T>;
template <RecordMember T> struct is_protected<T>;
template <RecordMember T> struct is_private<T>;
template <ScopeMember T>
  using get_scope_t = typename get_scope<T>::type;
 
// 21.12.4.7 Record operations
template <Record T> struct get_public_data_members;
template <Record T> struct get_accessible_data_members;
template <Record T> struct get_data_members;
template <Record T> struct get_public_member_functions;
template <Record T> struct get_accessible_member_functions;
template <Record T> struct get_member_functions;
template <Record T> struct get_public_member_types;
template <Record T> struct get_accessible_member_types;
template <Record T> struct get_member_types;
template <Record T> struct get_constructors;
template <Record T> struct get_destructor;
template <Record T> struct get_operators;
template <Class T> struct get_public_base_classes;
template <Class T> struct get_accessible_base_classes;
template <Class T> struct get_base_classes;
template <Class T> struct is_final<T>;
 
template <Record T>
  using get_public_data_members_t = typename get_public_data_members<T>::type;
template <Record T>
  using get_accessible_data_members_t = typename get_accessible_data_members<T>::type;
template <Record T>
  using get_data_members_t = typename get_data_members<T>::type;
template <Record T>
  using get_public_member_functions_t = typename get_public_member_functions<T>::type;
template <Record T>
  using get_accessible_member_functions_t = typename get_accessible_member_functions<T>::type;
template <Record T>
  using get_member_functions_t = typename get_member_functions<T>::type;
template <Record T>
  using get_public_member_types_t = typename get_public_member_types<T>::type;
template <Record T>
  using get_accessible_member_types_t = typename get_accessible_member_types<T>::type;
template <Record T>
  using get_member_types_t = typename get_member_types<T>::type;
template <Record T>
  using get_constructors_t = typename get_constructors<T>::type;
template <Record T>
  using get_destructor_t = typename get_destructor<T>::type;
template <Record T>
  using get_operators_t = typename get_operators<T>::type;
template <Class T>
  using get_public_base_classes_t = typename get_public_base_classes<T>::type;
template <Class T>
  using get_accessible_base_classes_t = typename get_accessible_base_classes<T>::type;
template <Class T>
  using get_base_classes_t = typename get_base_classes<T>::type;
 
// 21.12.4.8 Enum operations
template <Enum T> struct is_scoped_enum;
template <Enum T> struct get_enumerators;
template <Enum T> struct get_underlying_type;
 
template <Enum T>
  constexpr auto is_scoped_enum_v = is_scoped_enum<T>::value;
template <Enum T>
  using get_enumerators_t = typename get_enumerators<T>::type;
template <Enum T>
  using get_underlying_type_t = typename get_underlying_type<T>::type;
 
// 21.12.4.9 Value operations
template <Constant T> struct get_constant;
template <Variable T> struct is_constexpr<T>;
template <Variable T> struct is_static<T>;
template <Variable T> struct is_thread_local;
template <Variable T> struct get_pointer<T>;
 
template <Constant T>
  constexpr auto get_constant_v = get_constant<T>::value;
template <Variable T>
  constexpr auto is_thread_local_v = is_thread_local<T>::value;
 
// 21.12.4.10 Base operations
template <Base T> struct get_class;
template <Base T> struct is_virtual<T>;
template <Base T> struct is_public<T>;
template <Base T> struct is_protected<T>;
template <Base T> struct is_private<T>;
 
template <Base T>
  using get_class_t = typename get_class<T>::type;
 
// 21.12.4.11 Namespace operations
template <Namespace T> struct is_inline<T>;
 
// 21.12.4.12 FunctionParameter operations
template <FunctionParameter T> struct has_default_argument;
 
template <FunctionParameter T>
  constexpr auto has_default_argument_v = has_default_argument<T>::value;
 
// 21.12.4.13 Callable operations
template <Callable T> struct get_parameters;
template <Callable T> struct is_vararg;
template <Callable T> struct is_constexpr<T>;
template <Callable T> struct is_noexcept;
template <Callable T> struct is_inline<T>;
template <Callable T> struct is_deleted;
 
template <Callable T>
  using get_parameters_t = typename get_parameters<T>::type;
template <Callable T>
  constexpr auto is_vararg_v = is_vararg<T>::value;
template <Callable T>
  constexpr auto is_deleted_v = is_deleted<T>::value;
 
// 21.12.4.14 ParenthesizedExpression operations
template <ParenthesizedExpression T> struct get_subexpression;
 
template <ParenthesizedExpression T>
  using get_subexpression_t = typename get_subexpression<T>::type;
 
// 21.12.4.15 FunctionCallExpression operations
template <FunctionCallExpression T> struct get_callable;
 
template <FunctionCallExpression T>
  using get_callable_t = typename get_callable<T>::type;
 
// 21.12.4.16 FunctionalTypeConversion operations
template <FunctionalTypeConversion T> struct get_constructor;
 
template <FunctionalTypeConversion T>
  using get_constructor_t = typename get_constructor<T>::type;
 
// 21.12.4.17 Function operations
template <Function T> struct get_pointer<T>;
 
// 21.12.4.18 MemberFunction operations
template <MemberFunction T> struct is_static<T>;
template <MemberFunction T> struct is_const;
template <MemberFunction T> struct is_volatile;
template <MemberFunction T> struct has_lvalueref_qualifier;
template <MemberFunction T> struct has_rvalueref_qualifier;
template <MemberFunction T> struct is_virtual<T>;
template <MemberFunction T> struct is_pure_virtual<T>;
template <MemberFunction T> struct is_override;
template <MemberFunction T> struct is_final<T>;
 
template <MemberFunction T>
  constexpr auto is_const_v = is_const<T>::value;
template <MemberFunction T>
  constexpr auto is_volatile_v = is_volatile<T>::value;
template <MemberFunction T>
  constexpr auto has_lvalueref_qualifier_v = has_lvalueref_qualifier<T>::value;
template <MemberFunction T>
  constexpr auto has_rvalueref_qualifier_v = has_rvalueref_qualifier<T>::value;
template <MemberFunction T>
  constexpr auto is_override_v = is_override<T>::value;
 
// 21.12.4.19 SpecialMemberFunction operations
template <SpecialMemberFunction T> struct is_implicitly_declared;
template <SpecialMemberFunction T> struct is_defaulted;
 
template <SpecialMemberFunction T>
  constexpr auto is_implicitly_declared_v = is_implicitly_declared<T>::value;
template <SpecialMemberFunction T>
  constexpr auto is_defaulted_v = is_defaulted<T>::value;
 
// 21.12.4.20 Constructor operations
template <Constructor T> struct is_explicit<T>;
 
// 21.12.4.21 Destructor operations
template <Destructor T> struct is_virtual<T>;
template <Destructor T> struct is_pure_virtual<T>;
 
// 21.12.4.22 ConversionOperator operations
template <ConversionOperator T> struct is_explicit<T>;
 
// 21.12.4.23 Lambda operations
template <Lambda T> struct get_captures;
template <Lambda T> struct uses_default_copy_capture;
template <Lambda T> struct uses_default_reference_capture;
template <Lambda T> struct is_call_operator_const;
 
template <Lambda T>
  using get_captures_t = typename get_captures<T>::type;
template <Lambda T>
  constexpr auto uses_default_copy_capture_v = uses_default_copy_capture<T>::value;
template <Lambda T>
  constexpr auto uses_default_reference_capture_v = uses_default_reference_capture<T>::value;
template <Lambda T>
  constexpr auto is_call_operator_const_v = is_call_operator_const<T>::value;
 
// 21.12.4.24 LambdaCapture operations
template <LambdaCapture T> struct is_explicitly_captured;
template <LambdaCapture T> struct is_init_capture;
 
template <LambdaCapture T>
  constexpr auto is_explicitly_captured_v = is_explicitly_captured<T>::value;
template <LambdaCapture T>
  constexpr auto is_init_capture_v = is_init_capture<T>::value;
 
} // inline namespace v1
} // namespace std::experimental::reflect