Namespaces
Variants

std::meta::identificador_de, std::meta::u8identificador_de

De es.cppreference.net
< cpp | meta
 
 
 
Biblioteca de reflexión
Categorías de tipo primarias
Categorías de tipo compuestas
Propiedades de tipo ➜
Relaciones de tipo
 
Tipos y consultas de reflexión
Consultas de reflexión
Consultas de diseño de reflexión
Propiedades de tipo
Consultas de propiedades de tipo
 
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 r representa una entidad con un nombre typedef para fines de enlace, devuelve ese nombre.
  • De lo contrario, si r representa un operador literal o una plantilla de operador literal, devuelve su identificador de sufijo literal.
  • De lo contrario, si r representa un parámetro de función P de una función F, entonces sea S el 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 sea F o una función con plantilla de la cual F sea una especialización; devuelve el nombre que fue introducido por una declaración en S para el parámetro correspondiente a P.
  • De lo contrario, si r representa una entidad, devuelve su nombre declarado.
  • De lo contrario, si r representa una relación de clase base directa, devuelve std::meta::identifier_of(std::meta::type_of(r)) o std::meta::u8identifier_of(std::meta::type_of(r)).
  • De lo contrario, si r representa 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

Véase también

comprueba si la reflexión representa una entidad que tiene un identificador
(función)