From 19556009043d58dec3c96a5da6b962c6dcf249e9 Mon Sep 17 00:00:00 2001 From: artemp Date: Thu, 30 Oct 2014 17:42:50 -0400 Subject: [PATCH] use boost::unicode_iterator on all platform (experimental) --- include/mbgl/util/utf.hpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/include/mbgl/util/utf.hpp b/include/mbgl/util/utf.hpp index bb6317912..ddf0ff306 100644 --- a/include/mbgl/util/utf.hpp +++ b/include/mbgl/util/utf.hpp @@ -4,10 +4,11 @@ #include // g++/libstdc++ is missing c++11 codecvt support -#if ! defined(__clang__) || defined(__linux__) +#if 1//! defined(__clang__) || defined(__linux__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-local-typedefs" -#include +//#include +#include #pragma GCC diagnostic pop #else // Assume that codecvt is present on clang on non-linux systems @@ -19,13 +20,16 @@ namespace mbgl { namespace util { -#if ! defined(__clang__) || defined(__linux__) +#if 1 //! defined(__clang__) || defined(__linux__) class utf8_to_utf32 { public: explicit utf8_to_utf32() {} - std::u32string convert(std::string const& utf8) { - return boost::locale::conv::utf_to_utf(utf8); + std::u32string convert(std::string const& utf8) + { + boost::u8_to_u32_iterator begin(utf8.begin()); + boost::u8_to_u32_iterator end(utf8.end()); + return std::u32string(begin,end); } };