STL compatible allocator to use with with 16 byte aligned types. More...
#include <Memory.h>
Classes | |
struct | rebind |
Public Types | |
typedef const T * | const_pointer |
typedef const T & | const_reference |
typedef std::ptrdiff_t | difference_type |
typedef T * | pointer |
typedef T & | reference |
typedef size_t | size_type |
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 () | |
pointer | allocate (size_type num, const_pointer *hint=0) |
void | construct (pointer p, const T &value) |
void | deallocate (pointer p, size_type) |
void | destroy (pointer p) |
size_type | max_size () const throw () |
bool | operator!= (const aligned_allocator< T > &) const |
bool | operator== (const aligned_allocator< T > &) const |
~aligned_allocator () throw () |
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;
Definition at line 620 of file Core/util/Memory.h.
typedef const T* aligned_allocator< T >::const_pointer |
Definition at line 626 of file Core/util/Memory.h.
typedef const T& aligned_allocator< T >::const_reference |
Definition at line 628 of file Core/util/Memory.h.
typedef std::ptrdiff_t aligned_allocator< T >::difference_type |
Definition at line 624 of file Core/util/Memory.h.
typedef T* aligned_allocator< T >::pointer |
Definition at line 625 of file Core/util/Memory.h.
typedef T& aligned_allocator< T >::reference |
Definition at line 627 of file Core/util/Memory.h.
typedef size_t aligned_allocator< T >::size_type |
Definition at line 623 of file Core/util/Memory.h.
typedef T aligned_allocator< T >::value_type |
Definition at line 629 of file Core/util/Memory.h.
aligned_allocator< T >::aligned_allocator | ( | ) | throw () [inline] |
Definition at line 647 of file Core/util/Memory.h.
aligned_allocator< T >::aligned_allocator | ( | const aligned_allocator< T > & | ) | throw () [inline] |
Definition at line 651 of file Core/util/Memory.h.
aligned_allocator< T >::aligned_allocator | ( | const aligned_allocator< U > & | ) | throw () [inline] |
Definition at line 656 of file Core/util/Memory.h.
aligned_allocator< T >::~aligned_allocator | ( | ) | throw () [inline] |
Definition at line 660 of file Core/util/Memory.h.
pointer aligned_allocator< T >::address | ( | reference | value | ) | const [inline] |
Definition at line 637 of file Core/util/Memory.h.
const_pointer aligned_allocator< T >::address | ( | const_reference | value | ) | const [inline] |
Definition at line 642 of file Core/util/Memory.h.
pointer aligned_allocator< T >::allocate | ( | size_type | num, |
const_pointer * | hint = 0 |
||
) | [inline] |
Definition at line 669 of file Core/util/Memory.h.
void aligned_allocator< T >::construct | ( | pointer | p, |
const T & | value | ||
) | [inline] |
Definition at line 675 of file Core/util/Memory.h.
void aligned_allocator< T >::deallocate | ( | pointer | p, |
size_type | |||
) | [inline] |
Definition at line 685 of file Core/util/Memory.h.
void aligned_allocator< T >::destroy | ( | pointer | p | ) | [inline] |
Definition at line 680 of file Core/util/Memory.h.
size_type aligned_allocator< T >::max_size | ( | ) | const throw () [inline] |
Definition at line 664 of file Core/util/Memory.h.
bool aligned_allocator< T >::operator!= | ( | const aligned_allocator< T > & | ) | const [inline] |
Definition at line 690 of file Core/util/Memory.h.
bool aligned_allocator< T >::operator== | ( | const aligned_allocator< T > & | ) | const [inline] |
Definition at line 693 of file Core/util/Memory.h.