GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/pinocchio/bindings/python/utils/printable.hpp Lines: 5 5 100.0 %
Date: 2024-01-23 21:41:47 Branches: 2 4 50.0 %

Line Branch Exec Source
1
//
2
// Copyright (c) 2016 CNRS
3
//
4
5
#ifndef __pinocchio_python_utils_printable_hpp__
6
#define __pinocchio_python_utils_printable_hpp__
7
8
#include <boost/python.hpp>
9
10
namespace pinocchio
11
{
12
  namespace python
13
  {
14
15
    namespace bp = boost::python;
16
17
    ///
18
    /// \brief Set the Python method __str__ and __repr__ to use the overloading operator<<.
19
    ///
20
    template<class C>
21
    struct PrintableVisitor : public bp::def_visitor< PrintableVisitor<C> >
22
    {
23
      template<class PyClass>
24
1862
      void visit(PyClass & cl) const
25
      {
26
1862
        cl
27
1862
        .def(bp::self_ns::str(bp::self_ns::self))
28
1862
        .def(bp::self_ns::repr(bp::self_ns::self))
29
        ;
30
1862
      }
31
    };
32
  } // namespace python
33
} // namespace pinocchio
34
35
#endif // ifndef __pinocchio_python_utils_printable_hpp__