Namespaces
Variants

std::meta::alignment_of

De es.cppreference.net
< cpp | meta
 
 
 
Biblioteca de reflexión
 
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::size_t alignment_of( std::meta::info r );
(desde C++26)

Devuelve el requisito de alineación del tipo o (sub)objeto representado por r.

Parámetros

r - un valor de reflexión

Valor de retorno

Si r representa un tipo “referencia a T”, devuelve alignof(T*).

De lo contrario, si r representa un tipo U, devuelve alignof(U).

De lo contrario, si r representa una variable u objeto, devuelve el requisito de alineación de la variable u objeto.

De lo contrario, si r representa una relación de clase base directa, devuelve el requisito de alineación de la clase base (es decir, std::meta::alignment_of(std::meta::type_of(r))).

De lo contrario, si r representa un miembro de dato no estático M de una clase C, devuelve el requisito de alineación del subobjeto miembro directo correspondiente de un objeto completo de tipo C.

De lo contrario, r representa una descripción de miembro de dato, devuelve su valor de alineación si no es ⊥, o std::meta::alignment_of(std::meta::type_of(r)) en caso contrario.

Excepciones

Lanza std::meta::exception a menos que se cumplan todas las siguientes condiciones:

  • std::meta::dealias(r) representa uno de los siguientes:
  • Si std::meta::dealias(r) representa un tipo, std::meta::is_complete_type(r) es true.

Notas

Esta función trata “referencia de T” de la misma manera que “puntero a T”. Esto coincide con la representación de los miembros de referencia no estáticos.

Ejemplo

Véase también

alignof (C++11) consulta los requisitos de alineación de un tipo
(operador)