diff --git a/include/dynamic-graph/value.h b/include/dynamic-graph/value.h index 1b42a546739c0b8339e1c96e4412f14907aa3c3b..f3614bbec54572338ecea654c20d08a4727884f6 100644 --- a/include/dynamic-graph/value.h +++ b/include/dynamic-graph/value.h @@ -109,21 +109,14 @@ namespace dynamicgraph { }; /* ---- HELPER ---------------------------------------------------------- */ + // Note: to ensure the WIN32 compatibility, it is necessary to export + // the template specialization. Also, it is forbidden to do the template + // specialization declaration in the header file, for the same reason. template< typename T > - struct ValueHelper + struct DYNAMIC_GRAPH_DLLAPI ValueHelper { static const Value::Type TypeID; }; - - template<> const Value::Type ValueHelper<bool>::TypeID; - template<> const Value::Type ValueHelper<unsigned>::TypeID; - template<> const Value::Type ValueHelper<int>::TypeID; - template<> const Value::Type ValueHelper<float>::TypeID; - template<> const Value::Type ValueHelper<double>::TypeID; - template<> const Value::Type ValueHelper<std::string>::TypeID; - template<> const Value::Type ValueHelper<Vector>::TypeID; - template<> const Value::Type ValueHelper<Matrix>::TypeID; - } // namespace command } //namespace dynamicgraph