diff --git a/src/types.hpp b/src/types.hpp
index 1b488f0d..2b5cfb84 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -21,7 +21,7 @@
/*!
@file types.hpp
@brief Type definitions for Exiv2 and related functionality
- @version $Name: $ $Revision: 1.2 $
+ @version $Name: $ $Revision: 1.3 $
@author Andreas Huggel (ahu)
ahuggel@gmx.net
@date 09-Jan-04, ahu: created
@@ -167,25 +167,6 @@ namespace Exif {
// *****************************************************************************
// template and inline definitions
- //! Template to determine the TypeId for a type T
- template TypeId getType();
-
- //! Specialization for an unsigned short
- template<> inline TypeId getType() { return unsignedShort; }
- //! Specialization for an unsigned long
- template<> inline TypeId getType() { return unsignedLong; }
- //! Specialization for an unsigned rational
- template<> inline TypeId getType() { return unsignedRational; }
- //! Specialization for a signed short
- template<> inline TypeId getType() { return signedShort; }
- //! Specialization for a signed long
- template<> inline TypeId getType() { return signedLong; }
- //! Specialization for a signed rational
- template<> inline TypeId getType() { return signedRational; }
-
- // No default implementation: let the compiler/linker complain
-// template inline TypeId getType() { return invalid; }
-
//! Utility function to convert the argument of any type to a string
template
std::string toString(T arg)
diff --git a/src/value.hpp b/src/value.hpp
index 18711f79..e05059a9 100644
--- a/src/value.hpp
+++ b/src/value.hpp
@@ -21,7 +21,7 @@
/*!
@file value.hpp
@brief Value interface and concrete subclasses
- @version $Name: $ $Revision: 1.2 $
+ @version $Name: $ $Revision: 1.3 $
@author Andreas Huggel (ahu)
ahuggel@gmx.net
@date 09-Jan-04, ahu: created
@@ -257,6 +257,25 @@ namespace Exif {
}; // class AsciiValue
+ //! Template to determine the TypeId for a type T
+ template TypeId getType();
+
+ //! Specialization for an unsigned short
+ template<> inline TypeId getType() { return unsignedShort; }
+ //! Specialization for an unsigned long
+ template<> inline TypeId getType() { return unsignedLong; }
+ //! Specialization for an unsigned rational
+ template<> inline TypeId getType() { return unsignedRational; }
+ //! Specialization for a signed short
+ template<> inline TypeId getType() { return signedShort; }
+ //! Specialization for a signed long
+ template<> inline TypeId getType() { return signedLong; }
+ //! Specialization for a signed rational
+ template<> inline TypeId getType() { return signedRational; }
+
+ // No default implementation: let the compiler/linker complain
+// template inline TypeId getType() { return invalid; }
+
/*!
@brief Template for a %Value of a basic type. This is used for unsigned
and signed short, long and rationals.