template<typename T, typename Lanes = expected_cardinal_t<T>>
struct eve::aligned_allocator< T, Lanes >
Standard-compliant allocator handling the allocation and deallocation of segment of aligned memory.
Required header: #include <eve/memory/aligned_allocator.hpp>
By default, allocation will be aligned on current architecture's SIMD compatible alignment but can be specified otherwise.
aligned_allocator is designed ot be used through std::allocator_traits, so it provides the minimal amount of members and members types.
- Template Parameters
-
| T | Type to allocate |
| Lanes | Alignment constraint to uphold. Default value is computed to be compatible with current SIMD ABI requirements. |
|
(Note that these are not member symbols.)
|
|
template<typename T, typename U, typename A, typename B> |
| bool | operator== (aligned_allocator< T, A > const &, aligned_allocator< U, B > const &) noexcept |
| | Compares aligned_allocators for equality of types and alignment constraints.
|
|
template<typename T, typename U, typename A, typename B> |
| bool | operator!= (aligned_allocator< T, A > const &, aligned_allocator< U, B > const &) noexcept |
| | Compares aligned_allocators for inequality of types or alignment constraints.
|