![]() |
|
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 |