std::is_sufficiently_aligned - cppreference.com (original) (raw)
| | | | | --------------------------------------------------------------------------------------------------------- | | ------------- | | template< std::size_t N, class T > bool is_sufficiently_aligned( T* ptr ); | | (since C++26) |
Checks whether the pointer ptr points to an object whose alignment has a value of at least N.
The behavior is undefined if ptr does not point to an object of type T (ignoring cv-qualification at every level).
Contents
[edit] Return value
true if ptr points to an object that has alignment at least N; otherwise false.
[edit] Exceptions
Throws nothing.
[edit] Notes
std::is_sufficiently_aligned can be used as a precondition to std::assume_aligned.
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
| __cpp_lib_is_sufficiently_aligned | 202411L | (C++26) | std::is_sufficiently_aligned |
[edit] Possible implementation
[edit] Example
[edit] See also
| alignof (C++11) | queries alignment requirements of a type(operator)[edit] |
|---|---|
| alignas (C++11) | specifies that the storage for the variable should be aligned by specific amount(specifier)[edit] |
| (since C++11)(deprecated in C++23) | defines the type suitable for use as uninitialized storage for types of given size (class template) [edit] |
| aligns a pointer in a buffer (function) [edit] | |
| a type for aligned access to elements of mdspan (class template) [edit] |