5 #ifndef __pinocchio_container_aligned_vector_hpp__ 6 #define __pinocchio_container_aligned_vector_hpp__ 9 #include <Eigen/StdVector> 23 typedef ::std::vector<T, Eigen::aligned_allocator<T> > vector_base;
25 typedef typename vector_base::allocator_type allocator_type;
26 typedef typename vector_base::size_type size_type;
27 typedef typename vector_base::iterator iterator;
29 explicit aligned_vector(
const allocator_type & a = allocator_type()) : vector_base(a) {}
30 template<
typename InputIterator>
31 aligned_vector(InputIterator first, InputIterator last,
const allocator_type& a = allocator_type())
32 : vector_base(first, last, a) {}
34 explicit aligned_vector(size_type num,
const value_type & val = value_type())
35 : vector_base(num, val) {}
36 aligned_vector(iterator start, iterator end) : vector_base(start, end) {}
38 { vector_base::operator=(x);
return *
this; }
40 vector_base & base() {
return *
static_cast<vector_base*
>(
this); }
41 const vector_base & base()
const {
return *
static_cast<const vector_base*
>(
this); }
48 typedef typename aligned_vector<T>::vector_base vector_base;
49 return *
static_cast<const vector_base*
>(&lhs) == *static_cast<const vector_base*>(&rhs);
56 #endif // ifndef __pinocchio_container_aligned_vector_hpp__ Specialization of an std::vector with an aligned allocator. This specialization might be used when th...
Main pinocchio namespace.