Spec-Zone.ru › C++

std::meta::alignment_of

Определён в заголовочном файле <meta>
consteval std::size_t alignment_of( std::meta::info r );
(начиная с C++26)

Возвращает требование к выравниванию типа или (под)объекта, представленного r.

Параметры

r - значение отражения

Возвращаемое значение

Если r представляет тип «ссылка на T», возвращает alignof(T*).

В противном случае, если r представляет тип U, возвращает alignof(U).

В противном случае, если r представляет переменную или объект, возвращает требование к выравниванию переменной или объекта.

В противном случае, если r представляет отношение прямого базового класса, возвращает требование к выравниванию базового класса (то есть std::meta::alignment_of(std::meta::type_of(r))).

В противном случае, если r представляет нестатический член данных M класса C, возвращает требование к выравниванию соответствующего прямого подобъекта-члена полного объекта типа C.

В противном случае, если r представляет описание члена данных, возвращает значение его выравнивания, если оно не равно ⊥, или std::meta::alignment_of(std::meta::type_of(r)) в противном случае.

Исключения

Выбрасывает std::meta::exception, если не выполняются все следующие условия:

  • std::meta::dealias(r) представляет одно из следующего:
    • тип
    • объект
    • переменную не ссылочного типа
    • нестатический член данных, не являющийся битовым полем
    • отношение прямого базового класса
    • описание члена данных, ширина битового поля которого равна ⊥
  • Если std::meta::dealias(r) представляет тип, std::meta::is_complete_type(r) равно true.

Примечания

Эта функция обрабатывает «ссылку на T» так же, как «указатель на T». Это соответствует представлению нестатических членов-ссылок.

Пример

См. также

alignof (C++11) запрашивает требования к выравниванию типа
(оператор)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/alignment_of

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API