summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2017-07-11 17:42:50 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2017-07-12 16:41:15 +0300
commitcf67338bf7b7486545fc6edbecc1a625004c07e5 (patch)
tree53798af9915e2447d91333cf0876b3cbedbf9172
parent54f8ec966c9c97543cf70dd6553473b26989efac (diff)
downloadqtlocation-mapboxgl-cf67338bf7b7486545fc6edbecc1a625004c07e5.tar.gz
[core] GCC 4.9 does not provide <codecvt>
-rw-r--r--platform/default/utf.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/platform/default/utf.cpp b/platform/default/utf.cpp
index ba9678c91f..8fc44a9ed3 100644
--- a/platform/default/utf.cpp
+++ b/platform/default/utf.cpp
@@ -2,14 +2,24 @@
#include <memory>
#include <locale>
+
+// GCC 4.9 compatibility
+#if !defined(__GNUC__) || __GNUC__ >= 5
#include <codecvt>
+#else
+#include <boost/locale/encoding_utf.hpp>
+#endif
namespace mbgl {
namespace util {
std::u16string utf8_to_utf16::convert(std::string const& utf8) {
+#if !defined(__GNUC__) || __GNUC__ >= 5
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter;
return converter.from_bytes(utf8);
+#else
+ return boost::locale::conv::utf_to_utf<char16_t>(utf8.c_str(), utf8.c_str() + utf8.size());
+#endif
}
} // namespace util