pickle-vector.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2019-2020 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_python_utils_pickle_vector_hpp__
6 #define __pinocchio_python_utils_pickle_vector_hpp__
7 
8 #include <boost/python.hpp>
9 #include <boost/python/tuple.hpp>
10 #include <boost/python/stl_iterator.hpp>
11 
12 namespace pinocchio
13 {
14  namespace python
15  {
21  template<typename VecType>
22  struct PickleVector : boost::python::pickle_suite
23  {
24  static boost::python::tuple getinitargs(const VecType &)
25  {
26  return boost::python::make_tuple();
27  }
28 
29  static boost::python::tuple getstate(boost::python::object op)
30  {
31  return boost::python::make_tuple(
32  boost::python::list(boost::python::extract<const VecType &>(op)()));
33  }
34 
35  static void setstate(boost::python::object op, boost::python::tuple tup)
36  {
37  if (boost::python::len(tup) > 0)
38  {
39  VecType & o = boost::python::extract<VecType &>(op)();
40  boost::python::stl_input_iterator<typename VecType::value_type> begin(tup[0]), end;
41  while (begin != end)
42  {
43  o.push_back(*begin);
44  ++begin;
45  }
46  }
47  }
48 
49  static bool getstate_manages_dict()
50  {
51  return true;
52  }
53  };
54  } // namespace python
55 } // namespace pinocchio
56 
57 #endif // ifndef __pinocchio_python_utils_pickle_vector_hpp__
o
Vec3f o
pinocchio::python::PickleVector::setstate
static void setstate(boost::python::object op, boost::python::tuple tup)
Definition: pickle-vector.hpp:35
pinocchio::python::PickleVector::getinitargs
static boost::python::tuple getinitargs(const VecType &)
Definition: pickle-vector.hpp:24
pinocchio::python::PickleVector::getstate_manages_dict
static bool getstate_manages_dict()
Definition: pickle-vector.hpp:49
python
pinocchio::python::PickleVector::getstate
static boost::python::tuple getstate(boost::python::object op)
Definition: pickle-vector.hpp:29
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
pinocchio::python::PickleVector
Create a pickle interface for the std::vector and aligned vector.
Definition: pickle-vector.hpp:22


pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:12