std::meta::identificador_de, std::meta::u8identificador_de
De es.cppreference.net
| Definido en el encabezado <meta>
|
||
consteval std::string_view identifier_of( std::meta::info r );
|
(1) | (desde C++26) |
consteval std::u8string_view u8identifier_of( std::meta::info r );
|
(2) | (desde C++26) |
Devuelve el identificador asociado con lo que r representa.
1) El resultado es una cadena de caracteres codificada en la codificación de literales ordinaria.
2) El resultado es una cadena UTF-8.
La cadena resultante se determina de la siguiente manera:
- Si
rrepresenta una entidad con un nombre typedef para fines de enlace, devuelve ese nombre. - De lo contrario, si
rrepresenta un operador literal o una plantilla de operador literal, devuelve su identificador de sufijo literal. - De lo contrario, si
rrepresenta un parámetro de funciónPde una funciónF, entonces seaSel conjunto de declaraciones, ignorando cualquier instanciación explícita, que sean alcanzables desde un punto en el contexto de evaluación y que declaren ya seaFo una función con plantilla de la cualFsea una especialización; devuelve el nombre que fue introducido por una declaración enSpara el parámetro correspondiente aP. - De lo contrario, si
rrepresenta una entidad, devuelve su nombre declarado. - De lo contrario, si
rrepresenta una relación de clase base directa, devuelvestd::meta::identifier_of(std::meta::type_of(r))ostd::meta::u8identifier_of(std::meta::type_of(r)). - De lo contrario, si
rrepresenta una descripción de miembro dato (T, N, A, W, NUA, ANN), devuelve el nombre N de la descripción.
Parámetros
| r | - | un valor de reflexión |
Valor de retorno
El identificador de lo que r representa, como se describió anteriormente.
Excepciones
Lanza std::meta::exception a menos que std::meta::has_identifier(r) sea true y la cadena resultante sea representable en la codificación correspondiente.
Notas
El resultado V termina en nulo: se garantiza que V.data()[V.size()] es '\0'. Cada elemento en V es un objeto potencialmente no único con duración de almacenamiento estática que es utilizable en expresiones constantes; un puntero a dicho elemento no es adecuado para usarse como argumento de plantilla para un parámetro de plantilla no tipo de tipo puntero.
Ejemplo
| Esta sección está incompleta Motivo: sin ejemplo |
Véase también
(C++26) |
comprueba si la reflexión representa una entidad que tiene un identificador (función) |