GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/pinocchio/serialization/force.hpp Lines: 11 11 100.0 %
Date: 2024-01-23 21:41:47 Branches: 12 24 50.0 %

Line Branch Exec Source
1
//
2
// Copyright (c) 2019 INRIA
3
//
4
5
#ifndef __pinocchio_serialization_force_hpp__
6
#define __pinocchio_serialization_force_hpp__
7
8
#include "pinocchio/spatial/force.hpp"
9
#include "pinocchio/serialization/fwd.hpp"
10
11
#include <boost/serialization/split_free.hpp>
12
#include <boost/serialization/vector.hpp>
13
14
namespace boost
15
{
16
  namespace serialization
17
  {
18
19
    template <class Archive, typename Scalar, int Options>
20
1610
    void save(Archive & ar,
21
              const pinocchio::ForceTpl<Scalar,Options> & f,
22
              const unsigned int /*version*/)
23
    {
24

1610
      ar & make_nvp("linear",make_array(f.linear().data(),3));
25

1610
      ar & make_nvp("angular",make_array(f.angular().data(),3));
26
1610
    }
27
28
    template <class Archive, typename Scalar, int Options>
29
1610
    void load(Archive & ar,
30
              pinocchio::ForceTpl<Scalar,Options> & f,
31
              const unsigned int /*version*/)
32
    {
33

1610
      ar >> make_nvp("linear",make_array(f.linear().data(),3));
34

1610
      ar >> make_nvp("angular",make_array(f.angular().data(),3));
35
1610
    }
36
37
    template <class Archive, typename Scalar, int Options>
38
3220
    void serialize(Archive & ar,
39
                   pinocchio::ForceTpl<Scalar,Options> & f,
40
                   const unsigned int version)
41
    {
42
3220
      split_free(ar,f,version);
43
3220
    }
44
45
  }
46
}
47
48
#endif // ifndef __pinocchio_serialization_force_hpp__
49