Directory: | ./ |
---|---|
File: | bindings/python/crocoddyl/utils/printable.hpp |
Date: | 2025-01-16 08:47:40 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 4 | 4 | 100.0% |
Branches: | 2 | 4 | 50.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /////////////////////////////////////////////////////////////////////////////// | ||
2 | // BSD 3-Clause License | ||
3 | // | ||
4 | // Copyright (C) 2019-2020, University of Edinburgh | ||
5 | // Copyright note valid unless otherwise stated in individual files. | ||
6 | // All rights reserved. | ||
7 | /////////////////////////////////////////////////////////////////////////////// | ||
8 | |||
9 | #ifndef BINDINGS_PYTHON_CROCODDYL_UTILS_PRINTABLE_HPP_ | ||
10 | #define BINDINGS_PYTHON_CROCODDYL_UTILS_PRINTABLE_HPP_ | ||
11 | |||
12 | #include <boost/python.hpp> | ||
13 | |||
14 | namespace crocoddyl { | ||
15 | namespace python { | ||
16 | namespace bp = boost::python; | ||
17 | |||
18 | /// | ||
19 | /// \brief Set the Python method __str__ and __repr__ to use the overloading | ||
20 | /// operator<<. | ||
21 | /// | ||
22 | template <class C> | ||
23 | struct PrintableVisitor : public bp::def_visitor<PrintableVisitor<C> > { | ||
24 | template <class PyClass> | ||
25 | 330 | void visit(PyClass& cl) const { | |
26 |
1/2✓ Branch 2 taken 230 times.
✗ Branch 3 not taken.
|
330 | cl.def(bp::self_ns::str(bp::self_ns::self)) |
27 |
1/2✓ Branch 2 taken 230 times.
✗ Branch 3 not taken.
|
330 | .def(bp::self_ns::repr(bp::self_ns::self)); |
28 | 330 | } | |
29 | }; | ||
30 | |||
31 | } // namespace python | ||
32 | } // namespace crocoddyl | ||
33 | |||
34 | #endif // BINDINGS_PYTHON_CROCODDYL_UTILS_PRINTABLE_HPP_ | ||
35 |