std::experimental::memory_alignment - cppreference.com (original) (raw)

| | | | | ---------------------------------------------------------------------------------- | | ------------------- | | template< class T, class U = typename T::value_type > struct memory_alignment; | | (parallelism TS v2) |

If is_simd_mask_v<T> is true and U is bool, or if is_simd_v<T> is true and U is a vectorizable type, provides the member constant value equal to the minimum alignment of a pointer passed to a load constructor, copy_from function, or copy_to function. For any other types T and U, there is no member value.

If the program adds specializations for std::memory_alignment or std::memory_alignment_v(since C++17), the behavior is undefined.

Contents

[edit] Helper variable template

| template< class T, class U = typename T::value_type > constexpr std::size_t memory_alignment_v = memory_alignment<T, U>::value; | | (parallelism TS v2) | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------- |

Inherited from std::integral_constant

Member constants

| | the minimum alignment of a pointer passed to a load constructor, copy_from function, or copy_to function (public static member constant) | | --------------------------------------------------------------------------------------------------------------------------------------------- |

Member functions

| | converts the object to std::size_t, returns value (public member function) | | ----------------------------------------------------------------------------------------------------------- | | | returns value (public member function) |

Member types

[edit] Example

[edit] See also

vector_aligned_tagvector_aligned(parallelism TS v2) flag indicating alignment of the load/store address to vector alignment (class) [edit]
(constructor)(parallelism TS v2) constructs a simd object (public member function of std::experimental::simd<T,Abi>) [edit]
copy_from(parallelism TS v2) loads simd elements from contiguous memory (public member function of std::experimental::simd<T,Abi>) [edit]
copy_to(parallelism TS v2) stores simd elements to contiguous memory (public member function of std::experimental::simd<T,Abi>) [edit]
(constructor)(parallelism TS v2) constructs a simd_mask object (public member function of std::experimental::simd_mask<T,Abi>) [edit]
copy_from(parallelism TS v2) loads simd_mask elements from contiguous memory (public member function of std::experimental::simd_mask<T,Abi>) [edit]
copy_to(parallelism TS v2) stores simd_mask elements to contiguous memory (public member function of std::experimental::simd_mask<T,Abi>) [edit]