std:: is_sufficiently_aligned
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<memory>
|
||
|
template
<
std::
size_t
N,
class
T
>
bool is_sufficiently_aligned ( T * ptr ) ; |
(начиная с C++26) | |
Проверяет, указывает ли указатель ptr на объект, выравнивание которого имеет значение не менее N .
Поведение не определено, если
ptr
не указывает на объект типа
T
(игнорируя cv-квалификаторы на каждом уровне).
Содержание |
Возвращаемое значение
true если ptr указывает на объект с выравниванием не менее N ; иначе false .
Исключения
Ничего не выбрасывает.
Примечания
std::is_sufficiently_aligned
может использоваться в качестве предусловия для
std::assume_aligned
.
| Макрос тестирования возможностей | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_is_sufficiently_aligned
|
202411L
|
(C++26) |
std::is_sufficiently_aligned
|
Возможная реализация
template<std::size_t N, class T> bool is_sufficiently_aligned(T* ptr) { return std::bit_cast<std::uintptr_t>(ptr) % N == 0; } |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
alignof
(C++11)
|
запрашивает требования к выравниванию типа
(оператор) |
alignas
(C++11)
|
указывает, что память для переменной должна быть выровнена на определенное значение
(спецификатор) |
|
(since C++11)
(deprecated in C++23)
|
определяет тип, подходящий для использования в качестве неинициализированного хранилища для типов заданного размера
(шаблон класса) |
|
(C++11)
|
выравнивает указатель в буфере
(функция) |
|
(C++26)
|
тип для выровненного доступа к элементам
mdspan
(шаблон класса) |