diff --git a/src/factory/PVScalar.cpp b/src/factory/PVScalar.cpp index 942cf52..dee59d1 100644 --- a/src/factory/PVScalar.cpp +++ b/src/factory/PVScalar.cpp @@ -29,22 +29,4 @@ namespace epics { namespace pvData { { return static_pointer_cast(PVField::getField()); } - - template<> - std::ostream& PVScalarValue::dumpValue(std::ostream& o) const - { - return o << static_cast(get()); - } - - template<> - std::ostream& PVScalarValue::dumpValue(std::ostream& o) const - { - return o << static_cast(get()); - } - - template<> - std::ostream& PVScalarValue::dumpValue(std::ostream& o) const - { - return o << std::boolalpha << static_cast(get()); - } }} diff --git a/src/pv/pvData.h b/src/pv/pvData.h index 796abd6..2c6d128 100644 --- a/src/pv/pvData.h +++ b/src/pv/pvData.h @@ -437,14 +437,25 @@ private: }; /** - * @brief Some explicit specializations exist (defined in PVScalar.cpp) + * @brief Some explicit specializations exist */ -template<> - std::ostream& PVScalarValue::dumpValue(std::ostream& o) const; -template<> - std::ostream& PVScalarValue::dumpValue(std::ostream& o) const; -template<> - std::ostream& PVScalarValue::dumpValue(std::ostream& o) const; +template<> inline +std::ostream& PVScalarValue::dumpValue(std::ostream& o) const +{ + return o << static_cast(get()); +} + +template<> inline +std::ostream& PVScalarValue::dumpValue(std::ostream& o) const +{ + return o << static_cast(get()); +} + +template<> inline +std::ostream& PVScalarValue::dumpValue(std::ostream& o) const +{ + return o << std::boolalpha << static_cast(get()); +} /** * typedefs for the various possible scalar types.