STL compatible allocator to use with with 16 byte aligned types. More...
#include <Memory.h>
Classes | |
struct | rebind |
Public Types | |
typedef 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 | |
pointer | address (reference value) const |
const_pointer | address (const_reference value) const |
aligned_allocator () throw () | |
aligned_allocator (const aligned_allocator &) throw () | |
template<class U > | |
aligned_allocator (const aligned_allocator< U > &) throw () | |
~aligned_allocator () throw () | |
size_type | max_size () const throw () |
pointer | allocate (size_type num, const_pointer *hint=0) |
void | construct (pointer p, const T &value) |
void | destroy (pointer p) |
void | deallocate (pointer p, size_type) |
bool | operator!= (const aligned_allocator< T > &) const |
bool | operator== (const aligned_allocator< T > &) const |
STL compatible allocator to use with with 16 byte aligned types.
Example:
// Matrix4f requires 16 bytes alignment: std::map< int, Matrix4f, std::less<int>, aligned_allocator<std::pair<const int, Matrix4f> > > my_map_mat4; // Vector3f does not require 16 bytes alignment, no need to use Eigen's allocator: std::map< int, Vector3f > my_map_vec3;
typedef const T* aligned_allocator< T >::const_pointer |
typedef const T& aligned_allocator< T >::const_reference |
typedef std::ptrdiff_t aligned_allocator< T >::difference_type |
typedef T* aligned_allocator< T >::pointer |
typedef T& aligned_allocator< T >::reference |
typedef size_t aligned_allocator< T >::size_type |
typedef T aligned_allocator< T >::value_type |
aligned_allocator< T >::aligned_allocator | ( | ) | throw () [inline] |
aligned_allocator< T >::aligned_allocator | ( | const aligned_allocator< T > & | ) | throw () [inline] |
aligned_allocator< T >::aligned_allocator | ( | const aligned_allocator< U > & | ) | throw () [inline] |
aligned_allocator< T >::~aligned_allocator | ( | ) | throw () [inline] |
pointer aligned_allocator< T >::address | ( | reference | value | ) | const [inline] |
const_pointer aligned_allocator< T >::address | ( | const_reference | value | ) | const [inline] |
pointer aligned_allocator< T >::allocate | ( | size_type | num, | |
const_pointer * | hint = 0 | |||
) | [inline] |
void aligned_allocator< T >::construct | ( | pointer | p, | |
const T & | value | |||
) | [inline] |
void aligned_allocator< T >::deallocate | ( | pointer | p, | |
size_type | ||||
) | [inline] |
void aligned_allocator< T >::destroy | ( | pointer | p | ) | [inline] |
size_type aligned_allocator< T >::max_size | ( | ) | const throw () [inline] |
bool aligned_allocator< T >::operator!= | ( | const aligned_allocator< T > & | ) | const [inline] |
bool aligned_allocator< T >::operator== | ( | const aligned_allocator< T > & | ) | const [inline] |