template<class T>
Eigen::aligned_allocator class

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:

  • 32 bytes alignment if AVX is enabled.
  • 64 bytes alignment if AVX512 is enabled.

This can be controlled 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;