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

Line Branch Exec Source
1
//
2
// Copyright (c) 2021 INRIA
3
//
4
5
#ifndef __pinocchio_python_serialization_serialization_hpp__
6
#define __pinocchio_python_serialization_serialization_hpp__
7
8
#include "pinocchio/serialization/archive.hpp"
9
10
#include "pinocchio/bindings/python/fwd.hpp"
11
#include "pinocchio/bindings/python/utils/namespace.hpp"
12
13
namespace pinocchio
14
{
15
  namespace python
16
  {
17
18
    void exposeSerialization();
19
20
    template<typename T>
21
969
    void serialize()
22
    {
23
      namespace bp = boost::python;
24
25

1938
      bp::scope current_scope = getOrCreatePythonNamespace("serialization");
26
27

969
      bp::def("loadFromBinary",(void (*)(T &, boost::asio::streambuf &))pinocchio::serialization::loadFromBinary<T>,
28
              bp::args("object","stream_buffer"),
29
              "Load an object from a binary buffer.");
30
31

969
      bp::def("saveToBinary",(void (*)(const T &, boost::asio::streambuf &))pinocchio::serialization::saveToBinary<T>,
32
              bp::args("object","stream_buffer"),
33
              "Save an object to a binary buffer.");
34
35

969
      bp::def("loadFromBinary",(void (*)(T &, serialization::StaticBuffer &))pinocchio::serialization::loadFromBinary<T>,
36
              bp::args("object","static_buffer"),
37
              "Load an object from a static binary buffer.");
38
39

969
      bp::def("saveToBinary",(void (*)(const T &, serialization::StaticBuffer &))pinocchio::serialization::saveToBinary<T>,
40
              bp::args("object","static_buffer"),
41
              "Save an object to a static binary buffer.");
42
969
    }
43
44
  } // namespace python
45
} // namespace pinocchio
46
47
#endif // ifndef __pinocchio_python_serialization_serialization_hpp__