std::meta::type_of
Depuis fr.cppreference.net
| Défini dans l'en-tête <meta>
|
||
consteval std::meta::info type_of( std::meta::info r );
|
(depuis C++26) | |
Renvoie une réflexion représentant le type de ce que r représente.
Formellement :
- Si
rreprésente un paramètre de fonction (voir std::meta::parameters_of), renvoie une réflexion du type correspondant dans la liste-des-types-paramètres de la fonction. - Si
rreprésente une valeur, un objet, une variable, une fonction, un membre de données non statique, ou un champ de bits sans nom, renvoie une réflexion du type de ce querreprésente. - Si
rreprésente une annotation, renvoiestd::meta::type_of(std::meta::constant_of(r)). - Si
rreprésente un énumérateur d'un type énumération E :
- si
type_ofest appelé après la définition de E , renvoie une réflexion de E ; - sinon (
type_ofest appelé dans la définition de E ), renvoie une réflexion d'un type entier (qui est le type de l'énumérateur dans la définition de l'énumération).
- si
- Si
rreprésente une relation de classe de base directe (c'est-à-dire un élément destd::meta::bases_of(x, ctx)), renvoie une réflexion de la classe de base dans la relation. - Si
rreprésente une description de membre de données (c'est-à-dire une valeur renvoyée par std::meta::data_member_spec), renvoie une réflexion du type dans la description.
Paramètres
| r | - | une réflexion de quelque chose qui a un type |
Valeur de retour
Le type de ce que r représente.
Exceptions
Lève std::meta::exception sauf si ce que r représente a un type. C'est-à-dire que r doit représenter l'un des éléments suivants :
- valeur
- annotation
- objet
- variable
- fonction dont le type ne contient pas de type placeholder non déduit et qui n'est pas un constructeur ou un destructeur
- énumérateur
- membre de données non statique
- champ de bits sans nom
- relation de classe de base directe
- description de membre de données
- paramètre de fonction
Exemple
| Cette section est incomplète Raison : pas d'exemple |
Voir aussi
(C++26) |
vérifie si la réflexion représente un type (fonction) |