18 #ifndef __se3_container_aligned_vector_hpp__ 19 #define __se3_container_aligned_vector_hpp__ 22 #include <Eigen/StdVector> 36 typedef ::std::vector<T, Eigen::aligned_allocator<T> > vector_base;
38 typedef typename vector_base::allocator_type allocator_type;
39 typedef typename vector_base::size_type size_type;
40 typedef typename vector_base::iterator iterator;
42 explicit aligned_vector(
const allocator_type & a = allocator_type()) : vector_base(a) {}
43 template<
typename InputIterator>
44 aligned_vector(InputIterator first, InputIterator last,
const allocator_type& a = allocator_type())
45 : vector_base(first, last, a) {}
47 explicit aligned_vector(size_type num,
const value_type & val = value_type())
48 : vector_base(num, val) {}
49 aligned_vector(iterator start, iterator end) : vector_base(start, end) {}
51 { vector_base::operator=(x);
return *
this; }
53 vector_base & base() {
return *
static_cast<vector_base*
>(
this); }
54 const vector_base & base()
const {
return *
static_cast<const vector_base*
>(
this); }
61 typedef typename aligned_vector<T>::vector_base vector_base;
62 return *
static_cast<const vector_base*
>(&lhs) == *static_cast<const vector_base*>(&rhs);
69 #endif // ifndef __se3_container_aligned_vector_hpp__
Specialization of an std::vector with an aligned allocator. This specialization might be used when th...