#ifndef LIBDCP_LOCALE_CONVERT_H
#define LIBDCP_LOCALE_CONVERT_H
+#include "util.h"
#include <boost/filesystem.hpp>
#include <boost/static_assert.hpp>
#include <string>
template <typename P, typename Q>
P
-locale_convert (Q x, int precision = 16, bool fixed = false)
+locale_convert (Q, int precision = 16, bool fixed = false)
{
/* We can't write a generic version of locale_convert; all required
versions must be specialised.
*/
BOOST_STATIC_ASSERT (sizeof (Q) == 0);
+ LIBDCP_UNUSED(precision);
+ LIBDCP_UNUSED(fixed);
}
+template <>
+std::string
+locale_convert (unsigned char x, int, bool);
+
+template <>
+std::string
+locale_convert (unsigned short int x, int, bool);
+
template <>
std::string
locale_convert (int x, int, bool);
std::string
locale_convert (boost::filesystem::path x, int, bool);
+template <>
+unsigned char
+locale_convert (std::string x, int, bool);
+
+template <>
+unsigned short int
+locale_convert (std::string x, int, bool);
+
+template <>
+unsigned int
+locale_convert (std::string x, int, bool);
+
template <>
int
locale_convert (std::string x, int, bool);
template <>
-int64_t
+long
+locale_convert (std::string x, int, bool);
+
+template <>
+unsigned long
+locale_convert (std::string x, int, bool);
+
+template <>
+long long
+locale_convert (std::string x, int, bool);
+
+template <>
+unsigned long long
locale_convert (std::string x, int, bool);
template <>