Classes | Public Types | Public Member Functions | List of all members
Eigen::aligned_allocator< T > Class Template Reference

STL compatible allocator to use with types requiring a non standrad alignment. More...

#include <Memory.h>

Inheritance diagram for Eigen::aligned_allocator< T >:
Inheritance graph
[legend]

Classes

struct  rebind
 

Public Types

typedef const Tconst_pointer
 
typedef const Tconst_reference
 
typedef std::ptrdiff_t difference_type
 
typedef Tpointer
 
typedef Treference
 
typedef std::size_t size_type
 
typedef T value_type
 

Public Member Functions

 aligned_allocator ()
 
 aligned_allocator (const aligned_allocator &other)
 
template<class U >
 aligned_allocator (const aligned_allocator< U > &other)
 
pointer allocate (size_type num, const void *=0)
 
void deallocate (pointer p, size_type)
 
 ~aligned_allocator ()
 

Detailed Description

template<class T>
class Eigen::aligned_allocator< T >

STL compatible allocator to use with types requiring a non standrad 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 controled using the EIGEN_MAX_ALIGN_BYTES macro as documented there .

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;
See also
TopicStlContainers.

Definition at line 721 of file Memory.h.

Member Typedef Documentation

template<class T>
typedef const T* Eigen::aligned_allocator< T >::const_pointer

Definition at line 727 of file Memory.h.

template<class T>
typedef const T& Eigen::aligned_allocator< T >::const_reference

Definition at line 729 of file Memory.h.

template<class T>
typedef std::ptrdiff_t Eigen::aligned_allocator< T >::difference_type

Definition at line 725 of file Memory.h.

template<class T>
typedef T* Eigen::aligned_allocator< T >::pointer

Definition at line 726 of file Memory.h.

template<class T>
typedef T& Eigen::aligned_allocator< T >::reference

Definition at line 728 of file Memory.h.

template<class T>
typedef std::size_t Eigen::aligned_allocator< T >::size_type

Definition at line 724 of file Memory.h.

template<class T>
typedef T Eigen::aligned_allocator< T >::value_type

Definition at line 730 of file Memory.h.

Constructor & Destructor Documentation

template<class T>
Eigen::aligned_allocator< T >::aligned_allocator ( )
inline

Definition at line 738 of file Memory.h.

template<class T>
Eigen::aligned_allocator< T >::aligned_allocator ( const aligned_allocator< T > &  other)
inline

Definition at line 740 of file Memory.h.

template<class T>
template<class U >
Eigen::aligned_allocator< T >::aligned_allocator ( const aligned_allocator< U > &  other)
inline

Definition at line 743 of file Memory.h.

template<class T>
Eigen::aligned_allocator< T >::~aligned_allocator ( )
inline

Definition at line 745 of file Memory.h.

Member Function Documentation

template<class T>
pointer Eigen::aligned_allocator< T >::allocate ( size_type  num,
const void *  = 0 
)
inline

Definition at line 747 of file Memory.h.

template<class T>
void Eigen::aligned_allocator< T >::deallocate ( pointer  p,
size_type   
)
inline

Definition at line 761 of file Memory.h.


The documentation for this class was generated from the following file:


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:51:59