aligned-vector.hpp
Go to the documentation of this file.
1 // Copyright (c) 2015-2018, CNRS
2 // Authors: Justin Carpentier <jcarpent@laas.fr>
3 
4 #ifndef __multicontact_api_serialization_aligned_vector_hpp__
5 #define __multicontact_api_serialization_aligned_vector_hpp__
6 
7 #include <boost/serialization/split_free.hpp>
8 #include <boost/serialization/vector.hpp>
9 #include <pinocchio/container/aligned-vector.hpp>
10 
11 namespace boost {
12 
13 namespace serialization {
14 
15 template <class Archive, typename T>
16 void save(Archive& ar, const pinocchio::container::aligned_vector<T>& v,
17  const unsigned int version) {
18  typedef
19  typename pinocchio::container::aligned_vector<T>::vector_base vector_base;
20  save(ar, *static_cast<const vector_base*>(&v), version);
21 }
22 
23 template <class Archive, typename T>
24 void load(Archive& ar, pinocchio::container::aligned_vector<T>& v,
25  const unsigned int version) {
26  typedef
27  typename pinocchio::container::aligned_vector<T>::vector_base vector_base;
28  load(ar, *static_cast<vector_base*>(&v), version);
29 }
30 
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);
35 }
36 
37 } // namespace serialization
38 
39 } // namespace boost
40 
41 #endif // ifndef __multicontact_api_serialization_aligned_vector_hpp__
void load(Archive &ar, pinocchio::container::aligned_vector< T > &v, const unsigned int version)
Definition: aligned-vector.hpp:24
void serialize(Archive &ar, pinocchio::container::aligned_vector< T > &v, const unsigned int version)
Definition: aligned-vector.hpp:32
void save(Archive &ar, const pinocchio::container::aligned_vector< T > &v, const unsigned int version)
Definition: aligned-vector.hpp:16
Definition: aligned-vector.hpp:11