std::meta::annotations_of_with_type
De fr.cppreference.net
| Défini dans l'en-tête <meta>
|
||
consteval std::vector<std::meta::info>
annotations_of_with_type( std::meta::info item, std::meta::info type );
|
(depuis C++26) | |
Renvoie le résultat de std::meta::annotations_of(item) filtré selon le type représenté par type.
Paramètres
| item | - | une valeur de réflexion |
| type | - | une réflexion de type ou d'alias de type |
Valeur de retour
Un vecteur contenant chaque élément e dans std::meta::annotations_of(item) où std::meta::remove_const(std::meta::type_of(e)) est égal à std::meta::remove_const(type), en préservant leur ordre.
Exceptions
Lève std::meta::exception si std::meta::annotations_of(item) lèverait une exception, ou si
std::meta::dealias(type)ne représente pas un type, ou sistd::meta::is_complete_type(type)estfalse.
Exemple
Exécuter ce code
#include <meta>
struct Option { bool value; };
struct C {
[[=Option{true}]] int a;
[[=Option{false}]] int b;
};
static_assert([:annotations_of_with_type(^^C::a, ^^Option)[0]:].value);
static_assert(![:annotations_of_with_type(^^C::b, ^^Option)[0]:].value);
int main() {}
Voir aussi
(C++26) |
obtient les annotations s'appliquant à l'entité réfléchie (fonction) |
(C++26) |
vérifie si la réflexion représente une annotation (fonction) |
(C++26) |
obtient une réflexion de la valeur constante de l'entité réfléchie (fonction) |
(C++26) |
obtient une réflexion du type de l'entité réfléchie (fonction) |