4 #ifndef __multicontact_api_serialization_aligned_vector_hpp__
5 #define __multicontact_api_serialization_aligned_vector_hpp__
7 #include <boost/serialization/split_free.hpp>
8 #include <boost/serialization/vector.hpp>
9 #include <pinocchio/container/aligned-vector.hpp>
13 namespace serialization {
15 template <
class Archive,
typename T>
16 void save(Archive& ar,
const pinocchio::container::aligned_vector<T>& v,
17 const unsigned int version) {
19 typename pinocchio::container::aligned_vector<T>::vector_base vector_base;
20 save(ar, *
static_cast<const vector_base*
>(&v), version);
23 template <
class Archive,
typename T>
24 void load(Archive& ar, pinocchio::container::aligned_vector<T>& v,
25 const unsigned int version) {
27 typename pinocchio::container::aligned_vector<T>::vector_base vector_base;
28 load(ar, *
static_cast<vector_base*
>(&v), version);
31 template <
class Archive,
typename T>
32 void serialize(Archive& ar, pinocchio::container::aligned_vector<T>& v,
33 const unsigned int version) {
34 split_free(ar, v, version);
41 #endif // ifndef __multicontact_api_serialization_aligned_vector_hpp__