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] |