std::meta::dealias
Von de.cppreference.net
| Definiert in Header <meta>
|
||
consteval std::meta::info dealias( std::meta::info r );
|
(seit C++26) | |
Falls r einen Typ-Alias oder einen Namespace-Alias darstellt, wird eine Reflektion zurückgegeben, die den aliassierten Typ oder Namespace darstellt; andernfalls wird r zurückgegeben.
Parameter
| r | - | ein Reflektionswert |
Rückgabewert
Ein Reflektionswert, der die Entität darstellt, die r aliasiert, oder r, wenn es kein Alias ist.
Beispiel
Diesen Code ausführen
#include <meta>
#include <string>
#include <type_traits>
static_assert(^^std::string != ^^std::basic_string<char>);
static_assert(std::meta::dealias(^^std::string) == ^^std::basic_string<char>);
static_assert(^^std::void_t<int> != ^^void);
static_assert(std::meta::dealias(^^std::void_t<int>) == ^^void);
static_assert(std::meta::dealias(^^std::void_t) == ^^std::void_t);
int main() {}
Siehe auch
(C++26) |
prüft, ob eine Reflektion einen Typ-Alias darstellt (Funktion) |
(C++26) |
prüft, ob eine Reflektion einen Namespace-Alias darstellt (Funktion) |