std::alignment_of (3) - Linux Manuals
std::alignment_of: std::alignment_of
NAME
std::alignment_of - std::alignment_of
Synopsis
Defined in header <type_traits>
template< class T > (since C++11)
struct alignment_of;
Provides the member constant value equal to the alignment_requirement of the type T, as if obtained by an alignof expression. If T is an array type, returns the alignment requirements of the element type. If T is a reference type, returns the alignment requirements of the type referred to.
If alignof(T) is not a valid expression, the behavior is undefined.
Helper variable template
template< class T > (since C++17)
inline constexpr std::size_t alignment_of_v = alignment_of<T>::value;
Inherited from std::integral_constant
Member constants
value alignof(T)
[static]
Member functions
operator std::size_t (public member function)
operator() returns value
(C++14)
Member types
Type Definition
value_type std::size_t
type std::integral_constant<std::size_t, value>
Possible implementation
Notes
This type trait predates the alignof_keyword, which can be used to obtain the same value with less verbosity.
Example
// Run this code
Output:
See also
alignof_operator queries alignment requirements of a type (since C++11)
aligned_storage defines the type suitable for use as uninitialized storage for types of given size
(C++11)
aligned_union defines the type suitable for use as uninitialized storage for all given types
(C++11)
max_align_t trivial type with alignment requirement as great as any other scalar type
(C++11)