diff --git a/include/dynamic-graph/signal-caster.h b/include/dynamic-graph/signal-caster.h index 2c2f6990c61784b7a0a9f2fd006e98b33db8a4db..9d7037e7adb25ddd62ef2e7696b064ce5fd17483 100644 --- a/include/dynamic-graph/signal-caster.h +++ b/include/dynamic-graph/signal-caster.h @@ -65,12 +65,17 @@ private: extern SignalCaster g_caster; /* - * The SignalCast registerer class. Can be used to automatically register a cast when instanced. + * The SignalCast registerer class. Can be used to automatically register a cast when + * instanced somewhere in a cpp file. Pass the typeid() of the type you want to + * register a cast to as the first argument. + * The code is provided here so the class does not need to be exported. */ class SignalCastRegisterer { public: SignalCastRegisterer(const std::type_info& type, SignalCaster::displayer_type displayer, - SignalCaster::caster_type caster, SignalCaster::tracer_type tracer); + SignalCaster::caster_type caster, SignalCaster::tracer_type tracer) { + g_caster.registerCast(type, displayer, caster, tracer); + } }; /*! diff --git a/src/signal/signal-caster.cpp b/src/signal/signal-caster.cpp index 0ad45ffd29e3ea8a11f7ce37a4a65829b1271825..016f40bd00a1da89ceb5391fbaa3796674473399 100644 --- a/src/signal/signal-caster.cpp +++ b/src/signal/signal-caster.cpp @@ -73,12 +73,6 @@ any SignalCaster::cast(const type_info& type, istringstream& iss) { /// The global instance of the caster class. DYNAMICGRAPH_EXPORT SignalCaster g_caster; -SignalCastRegisterer::SignalCastRegisterer(const std::type_info& type, SignalCaster::displayer_type displayer, - SignalCaster::caster_type caster, SignalCaster::tracer_type tracer) -{ - g_caster.registerCast(type, displayer, caster, tracer); -} - /// Default casts, such as casts already supported by std::iostream template<typename T> class DefaultCastRegisterer : public SignalCastRegisterer { public: diff --git a/unitTesting/CMakeLists.txt b/unitTesting/CMakeLists.txt index 58ec67bf1af12363629959baca0ac860fe668360..b59119d6943fd324e62685c21283f0c2023a6eab 100644 --- a/unitTesting/CMakeLists.txt +++ b/unitTesting/CMakeLists.txt @@ -7,7 +7,8 @@ SET(tests test_shell test_pool test_depend - test_factory) + test_factory + test_signalcast) FOREACH(test_name ${tests}) SET(EXECUTABLE_NAME ${test_name})