![]() |
|
STL compatible allocator to use with types requiring a non-standard alignment. More...
#include <Memory.h>
Classes | |
struct | rebind |
Public Types | |
typedef std::size_t | size_type |
typedef std::ptrdiff_t | difference_type |
typedef T * | pointer |
typedef const T * | const_pointer |
typedef T & | reference |
typedef const T & | const_reference |
typedef T | value_type |
Public Member Functions | |
aligned_allocator ()=default | |
aligned_allocator (const aligned_allocator &)=default | |
template<class U > | |
aligned_allocator (const aligned_allocator< U > &) | |
template<class U > | |
constexpr bool | operator== (const aligned_allocator< U > &) const noexcept |
template<class U > | |
constexpr bool | operator!= (const aligned_allocator< U > &) const noexcept |
pointer | allocate (size_type num, const void *=0) |
void | deallocate (pointer p, size_type) |
STL compatible allocator to use with types requiring a non-standard alignment.
The memory is aligned as for dynamically aligned matrix/array types such as MatrixXd. By default, it will thus provide at least 16 bytes alignment and more in following cases:
This can be controlled using the EIGEN_MAX_ALIGN_BYTES
macro as documented there .
Example:
typedef const T* Eigen::aligned_allocator< T >::const_pointer |
typedef const T& Eigen::aligned_allocator< T >::const_reference |
typedef std::ptrdiff_t Eigen::aligned_allocator< T >::difference_type |
typedef T* Eigen::aligned_allocator< T >::pointer |
typedef T& Eigen::aligned_allocator< T >::reference |
typedef std::size_t Eigen::aligned_allocator< T >::size_type |
typedef T Eigen::aligned_allocator< T >::value_type |
|
default |
|
default |
|
inline |
|
inline |
References Eigen::internal::aligned_malloc().
|
inline |
References Eigen::internal::aligned_free(), and p.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |