diff --git a/include/dynamic-graph/python/convert-dg-to-py.hh b/include/dynamic-graph/python/convert-dg-to-py.hh index d849fdc15be0256d624204c909948ffcee09aef7..f312d852b936156c103c713a5876627de5299cd6 100644 --- a/include/dynamic-graph/python/convert-dg-to-py.hh +++ b/include/dynamic-graph/python/convert-dg-to-py.hh @@ -1,10 +1,10 @@ // Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS. -#include <boost/python.hpp> - #include <dynamic-graph/linear-algebra.h> #include <dynamic-graph/value.h> +#include <boost/python.hpp> + namespace dynamicgraph { namespace python { namespace convert { diff --git a/include/dynamic-graph/python/dynamic-graph-py.hh b/include/dynamic-graph/python/dynamic-graph-py.hh index 0a526b5d8557c46d34655e5ade7f139732c54979..9ba21d69fba62e62cb940608b616894c630e3d58 100644 --- a/include/dynamic-graph/python/dynamic-graph-py.hh +++ b/include/dynamic-graph/python/dynamic-graph-py.hh @@ -1,16 +1,15 @@ #ifndef DYNAMIC_GRAPH_PY #define DYNAMIC_GRAPH_PY -#include <iostream> -#include <sstream> - -#include <boost/python.hpp> -#include <boost/python/stl_iterator.hpp> - #include <dynamic-graph/debug.h> #include <dynamic-graph/exception-factory.h> #include <dynamic-graph/signal-base.h> +#include <boost/python.hpp> +#include <boost/python/stl_iterator.hpp> +#include <iostream> +#include <sstream> + #include "dynamic-graph/python/signal-wrapper.hh" namespace bp = boost::python; diff --git a/include/dynamic-graph/python/fwd.hh b/include/dynamic-graph/python/fwd.hh index 137a7d623c251536568d38964be76915a52a7f70..511ed21b45de699852a358aee7909500afe37394 100644 --- a/include/dynamic-graph/python/fwd.hh +++ b/include/dynamic-graph/python/fwd.hh @@ -15,7 +15,7 @@ namespace dynamicgraph { namespace python { class Interpreter; typedef shared_ptr<Interpreter> InterpreterPtr_t; -} // namespace python -} // namespace dynamicgraph +} // namespace python +} // namespace dynamicgraph -#endif // DYNAMIC_GRAPH_PYTHON_FWD_HH +#endif // DYNAMIC_GRAPH_PYTHON_FWD_HH diff --git a/include/dynamic-graph/python/interpreter.hh b/include/dynamic-graph/python/interpreter.hh index 3e8119707f6c9c53c098023e854b2333d056e533..8df6231e1bb7b5772efc0425f236a11dbc50c35a 100644 --- a/include/dynamic-graph/python/interpreter.hh +++ b/include/dynamic-graph/python/interpreter.hh @@ -7,10 +7,9 @@ #undef _POSIX_C_SOURCE #undef _XOPEN_SOURCE #include <dynamic-graph/python/fwd.hh> -#include "dynamic-graph/python/api.hh" -#include "dynamic-graph/python/python-compat.hh" #include "dynamic-graph/python/api.hh" +#include "dynamic-graph/python/python-compat.hh" namespace dynamicgraph { namespace python { diff --git a/include/dynamic-graph/python/module.hh b/include/dynamic-graph/python/module.hh index 35fe0cf5f7350bbec8ef0ebd373d7823051ee88e..7d9eb0c795f98e54970340dfa0b847ae8a86586d 100644 --- a/include/dynamic-graph/python/module.hh +++ b/include/dynamic-graph/python/module.hh @@ -6,11 +6,11 @@ #include <pinocchio/fwd.hpp> #endif -#include <boost/python.hpp> +#include <dynamic-graph/entity.h> + #include <boost/mpl/for_each.hpp> #include <boost/mpl/vector.hpp> - -#include <dynamic-graph/entity.h> +#include <boost/python.hpp> #include <dynamic-graph/python/dynamic-graph-py.hh> namespace dynamicgraph { diff --git a/include/dynamic-graph/python/signal-wrapper.hh b/include/dynamic-graph/python/signal-wrapper.hh index 5b3845d3f6ce836c2b0fa11ff366c41820261d84..3a08ed3ba88e0a8f330b895857538dbf0319cdb2 100644 --- a/include/dynamic-graph/python/signal-wrapper.hh +++ b/include/dynamic-graph/python/signal-wrapper.hh @@ -4,12 +4,13 @@ #ifndef DGPY_SIGNAL_WRAPPER #define DGPY_SIGNAL_WRAPPER -#include <boost/python.hpp> -#include <boost/bind.hpp> - +#include <dynamic-graph/entity.h> #include <dynamic-graph/linear-algebra.h> #include <dynamic-graph/signal.h> -#include <dynamic-graph/entity.h> + +#include <boost/bind.hpp> +#include <boost/python.hpp> + #include "dynamic-graph/python/python-compat.hh" namespace dynamicgraph { diff --git a/include/dynamic-graph/python/signal.hh b/include/dynamic-graph/python/signal.hh index e439a32adf488a638392bfe07cb093e9f34ef5be..4b7deb7403feb03bedf0b7267770a4fac7ba3a12 100644 --- a/include/dynamic-graph/python/signal.hh +++ b/include/dynamic-graph/python/signal.hh @@ -1,14 +1,13 @@ // Copyright 2020, Joseph Mirabel, LAAS-CNRS. -#include <sstream> - -#include <boost/python.hpp> - #include <dynamic-graph/signal-base.h> #include <dynamic-graph/signal-ptr.h> #include <dynamic-graph/signal-time-dependent.h> #include <dynamic-graph/signal.h> +#include <boost/python.hpp> +#include <sstream> + #include "dynamic-graph/python/signal-wrapper.hh" namespace dynamicgraph { diff --git a/src/dynamic_graph/convert-dg-to-py.cc b/src/dynamic_graph/convert-dg-to-py.cc index b9ff9e9b5e5e8615199045426c44bfe935abb895..cdc22d3e5d4cd6bf55e062a9f87b7f8375c6227e 100644 --- a/src/dynamic_graph/convert-dg-to-py.cc +++ b/src/dynamic_graph/convert-dg-to-py.cc @@ -1,16 +1,16 @@ // Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS. -#include <iostream> -#include <sstream> - -#include <boost/python.hpp> -#include <boost/python/stl_iterator.hpp> +#include "dynamic-graph/python/convert-dg-to-py.hh" #include <dynamic-graph/signal-base.h> -#include <dynamic-graph/signal.h> #include <dynamic-graph/signal-caster.h> +#include <dynamic-graph/signal.h> + +#include <boost/python.hpp> +#include <boost/python/stl_iterator.hpp> +#include <iostream> +#include <sstream> -#include "dynamic-graph/python/convert-dg-to-py.hh" #include "dynamic-graph/python/python-compat.hh" namespace dynamicgraph { diff --git a/src/dynamic_graph/debug-py.cc b/src/dynamic_graph/debug-py.cc index dc72df831f2d7904642569f46dfdcdd755139f8c..c06ac793643c604614de4781316de01c1c24cf9e 100644 --- a/src/dynamic_graph/debug-py.cc +++ b/src/dynamic_graph/debug-py.cc @@ -5,14 +5,14 @@ #include <iostream> #define ENABLE_RT_LOG +#include <dynamic-graph/entity.h> +#include <dynamic-graph/pool.h> #include <dynamic-graph/real-time-logger.h> +#include <boost/shared_ptr.hpp> #include <map> -#include <dynamic-graph/pool.h> -#include <dynamic-graph/entity.h> #include <vector> -#include <boost/shared_ptr.hpp> #include "dynamic-graph/python/dynamic-graph-py.hh" typedef boost::shared_ptr<std::ofstream> ofstreamShrPtr; diff --git a/src/dynamic_graph/dynamic-graph-py.cc b/src/dynamic_graph/dynamic-graph-py.cc index d5ce2eba1b30080186701aa85138b9964e5fae60..dfdeddc1bfd838e2919b3116b7dca0c267717473 100644 --- a/src/dynamic_graph/dynamic-graph-py.cc +++ b/src/dynamic_graph/dynamic-graph-py.cc @@ -1,32 +1,30 @@ // Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS. -#include <iostream> -#include <sstream> - -#include <boost/python.hpp> -#include <boost/python/raw_function.hpp> -#include <boost/python/suite/indexing/map_indexing_suite.hpp> - -#include <eigenpy/eigenpy.hpp> -#include <Eigen/Geometry> -#include <eigenpy/geometry.hpp> +#include "dynamic-graph/python/dynamic-graph-py.hh" +#include <dynamic-graph/command.h> #include <dynamic-graph/debug.h> -#include <dynamic-graph/exception-factory.h> -#include <dynamic-graph/signal-base.h> -#include <dynamic-graph/signal.h> -#include <dynamic-graph/signal-time-dependent.h> #include <dynamic-graph/entity.h> -#include <dynamic-graph/command.h> +#include <dynamic-graph/exception-factory.h> #include <dynamic-graph/factory.h> #include <dynamic-graph/pool.h> - +#include <dynamic-graph/signal-base.h> +#include <dynamic-graph/signal-time-dependent.h> +#include <dynamic-graph/signal.h> #include <dynamic-graph/tracer.h> -#include "dynamic-graph/python/dynamic-graph-py.hh" -#include "dynamic-graph/python/signal-wrapper.hh" +#include <Eigen/Geometry> +#include <boost/python.hpp> +#include <boost/python/raw_function.hpp> +#include <boost/python/suite/indexing/map_indexing_suite.hpp> +#include <eigenpy/eigenpy.hpp> +#include <eigenpy/geometry.hpp> +#include <iostream> +#include <sstream> + #include "dynamic-graph/python/convert-dg-to-py.hh" #include "dynamic-graph/python/module.hh" +#include "dynamic-graph/python/signal-wrapper.hh" namespace dynamicgraph { namespace python { @@ -106,35 +104,38 @@ void exposeEntityBase() { .add_property("streamPrintPeriod", &Entity::getStreamPrintPeriod, &Entity::setStreamPrintPeriod, "set the period at which debugging information are printed") - .def("__str__", - +[](const Entity& e) -> std::string { - std::ostringstream os; - e.display(os); - return os.str(); - }) - .def("signals", - +[](const Entity& e) -> bp::list { - bp::list ret; - for (auto& el : e.getSignalMap()) ret.append(bp::ptr(el.second)); - return ret; - }, - "Return the list of signals.") + .def( + "__str__", + +[](const Entity& e) -> std::string { + std::ostringstream os; + e.display(os); + return os.str(); + }) + .def( + "signals", + +[](const Entity& e) -> bp::list { + bp::list ret; + for (auto& el : e.getSignalMap()) ret.append(bp::ptr(el.second)); + return ret; + }, + "Return the list of signals.") //.def("signal", +[](Entity& e, const std::string &name) { return &e.getSignal(name); }, // reference_existing_object()) .def("signal", &getSignal, reference_existing_object(), "get signal by name from an Entity", bp::arg("name")) .def("hasSignal", &Entity::hasSignal, "return True if the entity has a signal with the given name") - .def("displaySignals", - +[](const Entity& e) { - Entity::SignalMap signals(e.getSignalMap()); - std::cout << "--- <" << e.getName(); - if (signals.empty()) - std::cout << "> has no signal\n"; - else - std::cout << "> signal list:\n"; - for (const auto& el : signals) el.second->display(std::cout << " |-- <") << '\n'; - }, - "Print the list of signals into standard output: temporary.") + .def( + "displaySignals", + +[](const Entity& e) { + Entity::SignalMap signals(e.getSignalMap()); + std::cout << "--- <" << e.getName(); + if (signals.empty()) + std::cout << "> has no signal\n"; + else + std::cout << "> signal list:\n"; + for (const auto& el : signals) el.second->display(std::cout << " |-- <") << '\n'; + }, + "Print the list of signals into standard output: temporary.") /* .def("__getattr__", +[](Entity& e, const std::string &name) -> SignalBase<int>* { return &e.getSignal(name); }, @@ -240,22 +241,26 @@ BOOST_PYTHON_MODULE(wrap) { typedef dg::PoolStorage::Entities MapOfEntities; bp::class_<MapOfEntities>("MapOfEntities") .def("__len__", &MapOfEntities::size) - .def("keys", - +[](const MapOfEntities& m) -> bp::tuple { - bp::list res; - for (const auto& el : m) res.append(el.first); - return bp::tuple(res); - }) - .def("values", - +[](const MapOfEntities& m) -> bp::tuple { - bp::list res; - for (const auto& el : m) res.append(bp::ptr(el.second)); - return bp::tuple(res); - }) + .def( + "keys", + +[](const MapOfEntities& m) -> bp::tuple { + bp::list res; + for (const auto& el : m) res.append(el.first); + return bp::tuple(res); + }) + .def( + "values", + +[](const MapOfEntities& m) -> bp::tuple { + bp::list res; + for (const auto& el : m) res.append(bp::ptr(el.second)); + return bp::tuple(res); + }) .def("__getitem__", static_cast<dg::Entity*& (MapOfEntities::*)(const std::string& k)>(&MapOfEntities::at), reference_existing_object()) - .def("__setitem__", +[](MapOfEntities& m, const std::string& n, dg::Entity* e) { m.emplace(n, e); }) + .def( + "__setitem__", +[](MapOfEntities& m, const std::string& n, dg::Entity* e) { m.emplace(n, e); }) .def("__iter__", bp::iterator<MapOfEntities>()) - .def("__contains__", +[](const MapOfEntities& m, const std::string& n) -> bool { return m.count(n); }); + .def( + "__contains__", +[](const MapOfEntities& m, const std::string& n) -> bool { return m.count(n); }); bp::to_python_converter<MapOfEntities::value_type, MapOfEntitiesPairToPythonConverter>(); } diff --git a/src/dynamic_graph/entity-py.cc b/src/dynamic_graph/entity-py.cc index f5993fd06f6a85e06c911de7c6827c1a17e692df..268e58770ea178c83017db9b5435483cbfca1215 100644 --- a/src/dynamic_graph/entity-py.cc +++ b/src/dynamic_graph/entity-py.cc @@ -1,15 +1,14 @@ // Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS. -#include <iostream> - +#include <dynamic-graph/command.h> #include <dynamic-graph/entity.h> #include <dynamic-graph/factory.h> - -#include <dynamic-graph/command.h> #include <dynamic-graph/linear-algebra.h> #include <dynamic-graph/pool.h> #include <dynamic-graph/value.h> +#include <iostream> + #include "dynamic-graph/python/convert-dg-to-py.hh" #include "dynamic-graph/python/dynamic-graph-py.hh" diff --git a/src/dynamic_graph/factory-py.cc b/src/dynamic_graph/factory-py.cc index 8fbdbcafb71110df48d4b8439bec2cd65484bac8..194bfcd88142995572fbae9f337103c21ea12108 100644 --- a/src/dynamic_graph/factory-py.cc +++ b/src/dynamic_graph/factory-py.cc @@ -1,8 +1,9 @@ // Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS. -#include <iostream> #include <dynamic-graph/factory.h> +#include <iostream> + #include "dynamic-graph/python/dynamic-graph-py.hh" using dynamicgraph::Entity; diff --git a/src/dynamic_graph/pool-py.cc b/src/dynamic_graph/pool-py.cc index 2c1659deed9e31aa6f706f7c90c372ab13ac20b2..338a89f8690c2d56050459c3b2acd1b2aa37d0ac 100644 --- a/src/dynamic_graph/pool-py.cc +++ b/src/dynamic_graph/pool-py.cc @@ -1,7 +1,8 @@ // Copyright 2011, 2012, Florent Lamiraux, LAAS-CNRS. -#include <dynamic-graph/pool.h> #include <dynamic-graph/entity.h> +#include <dynamic-graph/pool.h> + #include <vector> #include "dynamic-graph/python/dynamic-graph-py.hh" diff --git a/src/dynamic_graph/signal-base-py.cc b/src/dynamic_graph/signal-base-py.cc index c839742df2b7f7c0c4159766c5415dbd5eca0b21..d9aadf8972efee4b336af3265f8bc716ad70f5e2 100644 --- a/src/dynamic_graph/signal-base-py.cc +++ b/src/dynamic_graph/signal-base-py.cc @@ -1,21 +1,19 @@ // Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS. -#include <iostream> -#include <sstream> - -#include <boost/python.hpp> - -#include "dynamic-graph/python/signal.hh" - +#include <dynamic-graph/linear-algebra.h> #include <dynamic-graph/signal-base.h> -#include <dynamic-graph/signal.h> #include <dynamic-graph/signal-ptr.h> #include <dynamic-graph/signal-time-dependent.h> -#include <dynamic-graph/linear-algebra.h> +#include <dynamic-graph/signal.h> #include <dynamic-graph/value.h> +#include <boost/python.hpp> +#include <iostream> +#include <sstream> + #include "dynamic-graph/python/dynamic-graph-py.hh" #include "dynamic-graph/python/signal-wrapper.hh" +#include "dynamic-graph/python/signal.hh" using dynamicgraph::SignalBase; @@ -48,12 +46,13 @@ void exposeSignalBase(const char* name) { .add_property("name", bp::make_function(&S_t::getName, bp::return_value_policy<bp::copy_const_reference>())) .def("getName", &S_t::getName, bp::return_value_policy<bp::copy_const_reference>()) - .def("getClassName", - +[](const S_t& s) -> std::string { - std::string ret; - s.getClassName(ret); - return ret; - }) + .def( + "getClassName", + +[](const S_t& s) -> std::string { + std::string ret; + s.getClassName(ret); + return ret; + }) .def("plug", &S_t::plug, "Plug the signal to another signal") .def("unplug", &S_t::unplug, "Unplug the signal") @@ -63,32 +62,35 @@ void exposeSignalBase(const char* name) { .def("recompute", &S_t::recompute, "Recompute the signal at given time") - .def("__str__", - +[](const S_t& s) -> std::string { - std::ostringstream oss; - s.display(oss); - return oss.str(); - }) - .def("displayDependencies", - +[](const S_t& s, int time) -> std::string { - std::ostringstream oss; - s.displayDependencies(oss, time); - return oss.str(); - }, - "Print the signal dependencies in a string"); + .def( + "__str__", + +[](const S_t& s) -> std::string { + std::ostringstream oss; + s.display(oss); + return oss.str(); + }) + .def( + "displayDependencies", + +[](const S_t& s, int time) -> std::string { + std::ostringstream oss; + s.displayDependencies(oss, time); + return oss.str(); + }, + "Print the signal dependencies in a string"); } template <> auto exposeSignal<MatrixHomogeneous, time_type>(const std::string& name) { typedef Signal<MatrixHomogeneous, time_type> S_t; bp::class_<S_t, bp::bases<SignalBase<time_type> >, boost::noncopyable> obj(name.c_str(), bp::init<std::string>()); - obj.add_property("value", +[](const S_t& signal) -> Matrix4 { return signal.accessCopy().matrix(); }, - +[](S_t& signal, const Matrix4& v) { - // TODO it isn't hard to support pinocchio::SE3 type here. - // However, this adds a dependency to pinocchio. - signal.setConstant(MatrixHomogeneous(v)); - }, - "the signal value."); + obj.add_property( + "value", +[](const S_t& signal) -> Matrix4 { return signal.accessCopy().matrix(); }, + +[](S_t& signal, const Matrix4& v) { + // TODO it isn't hard to support pinocchio::SE3 type here. + // However, this adds a dependency to pinocchio. + signal.setConstant(MatrixHomogeneous(v)); + }, + "the signal value."); return obj; } diff --git a/src/dynamic_graph/signal-wrapper.cc b/src/dynamic_graph/signal-wrapper.cc index 731e898e74d2b43e7e2f95b6c78bddedad04b689..32684db423c14d594a7e6c956d59930cb4166b96 100644 --- a/src/dynamic_graph/signal-wrapper.cc +++ b/src/dynamic_graph/signal-wrapper.cc @@ -1,11 +1,11 @@ // Copyright (c) 2018, Joseph Mirabel // Authors: Joseph Mirabel (joseph.mirabel@laas.fr) -#include <dynamic-graph/factory.h> -#include <dynamic-graph/command-bind.h> - #include "dynamic-graph/python/signal-wrapper.hh" +#include <dynamic-graph/command-bind.h> +#include <dynamic-graph/factory.h> + namespace dynamicgraph { namespace python { void PythonSignalContainer::signalRegistration(const SignalArray<int>& signals) { diff --git a/src/dynamic_graph/tracer/wrap.cc b/src/dynamic_graph/tracer/wrap.cc index a790c98bfd7e5845e973983c0349531865eb6604..fcb6d22ad6e9f1a70ff22f0e00fd89b515c71d58 100644 --- a/src/dynamic_graph/tracer/wrap.cc +++ b/src/dynamic_graph/tracer/wrap.cc @@ -1,7 +1,7 @@ -#include "dynamic-graph/python/module.hh" - #include <dynamic-graph/tracer.h> +#include "dynamic-graph/python/module.hh" + BOOST_PYTHON_MODULE(wrap) { using dynamicgraph::Tracer; diff --git a/src/dynamic_graph/tracer_real_time/wrap.cc b/src/dynamic_graph/tracer_real_time/wrap.cc index 9fb24ec86b802d1c163fba74ed36d0954e9ddab1..66863d3eb4dfc552260cc08119714f1bff4b3ba5 100644 --- a/src/dynamic_graph/tracer_real_time/wrap.cc +++ b/src/dynamic_graph/tracer_real_time/wrap.cc @@ -1,7 +1,7 @@ -#include "dynamic-graph/python/module.hh" - #include <dynamic-graph/tracer-real-time.h> +#include "dynamic-graph/python/module.hh" + BOOST_PYTHON_MODULE(wrap) { using dynamicgraph::Tracer; using dynamicgraph::TracerRealTime; diff --git a/src/interpreter.cc b/src/interpreter.cc index a7f7c306ff8f90adaf2523cef78a3487a8bd9b72..fa75936803e4df9a8bffc7804500ad94e4a99626 100644 --- a/src/interpreter.cc +++ b/src/interpreter.cc @@ -8,6 +8,7 @@ #endif #include <iostream> + #include "dynamic-graph/debug.h" #include "dynamic-graph/python/interpreter.hh" diff --git a/tests/custom_entity.cpp b/tests/custom_entity.cpp index 1ff0b877cd673f46974fbd9ea770d98ba693bf71..b6da82241fb39af8956bbe22dc4bbe7b78184823 100644 --- a/tests/custom_entity.cpp +++ b/tests/custom_entity.cpp @@ -6,7 +6,6 @@ #define ENABLE_RT_LOG #include "custom_entity.h" -#include <boost/bind.hpp> #include <dynamic-graph/command-bind.h> #include <dynamic-graph/entity.h> @@ -17,6 +16,8 @@ #include <dynamic-graph/signal-ptr.h> #include <dynamic-graph/signal-time-dependent.h> +#include <boost/bind.hpp> + namespace dynamicgraph { CustomEntity::CustomEntity(const std::string n) diff --git a/tests/custom_entity.h b/tests/custom_entity.h index b382fe49827582826e4d82c469fd12e8deb20e8c..fd821f09443ed1c255d9e9181d0fd48b06068793 100644 --- a/tests/custom_entity.h +++ b/tests/custom_entity.h @@ -5,11 +5,12 @@ #define ENABLE_RT_LOG -#include <sstream> #include <dynamic-graph/entity.h> #include <dynamic-graph/signal-ptr.h> #include <dynamic-graph/signal-time-dependent.h> +#include <sstream> + namespace dynamicgraph { class CustomEntity : public Entity { public: diff --git a/tests/dynamic-graph-python-test.cc b/tests/dynamic-graph-python-test.cc index a45ddad026c053232284fb513218cf92c5145a06..af2b39dcaa68f16e14fe966aa20ddff7c330b59c 100644 --- a/tests/dynamic-graph-python-test.cc +++ b/tests/dynamic-graph-python-test.cc @@ -2,7 +2,8 @@ * Copyright */ -#include <iostream> #include "dynamic-graph-python-test.hh" +#include <iostream> + GraphTest::GraphTest() { std::cout << "Constructor of unitTesting object of class Graph." << std::endl; } diff --git a/tests/dynamic-graph-python-test.cpp b/tests/dynamic-graph-python-test.cpp index a45ddad026c053232284fb513218cf92c5145a06..af2b39dcaa68f16e14fe966aa20ddff7c330b59c 100644 --- a/tests/dynamic-graph-python-test.cpp +++ b/tests/dynamic-graph-python-test.cpp @@ -2,7 +2,8 @@ * Copyright */ -#include <iostream> #include "dynamic-graph-python-test.hh" +#include <iostream> + GraphTest::GraphTest() { std::cout << "Constructor of unitTesting object of class Graph." << std::endl; }