]> git.lyx.org Git - lyx.git/blobdiff - src/support/strfwd.h
Account for old versions of Pygments
[lyx.git] / src / support / strfwd.h
index ee4888abd44e0dd05557571b1db91226e11fed29..58b44f59b3cd09effa4e639ab22b62061855f12e 100644 (file)
@@ -23,13 +23,22 @@ namespace lyx { typedef wchar_t char_type; }
 
 #else
 
+#if defined(_MSC_VER) && (_MSC_VER >= 1600)
+#include <cstdint>
+namespace lyx { typedef uint32_t char_type; }
+#include "support/numpunct_lyx_char_type.h" // implementation for our char_type needed
+#else
 #include <boost/cstdint.hpp>
 namespace lyx { typedef boost::uint32_t char_type; }
+#endif
 
 #endif
 
 // Forward definitions do not work with libc++
-#ifdef USE_LLVM_LIBCPP
+// For gcc5 with the new std::string ABI forward declarations would work in
+// principle, but I am not sure whether we want non-standard
+// "namespace __cxx11" in our sources.
+#if defined(USE_LLVM_LIBCPP) || defined(USE_GLIBCXX_CXX11_ABI)
 #include <string>
 #else
 
@@ -58,6 +67,10 @@ typedef basic_ostringstream<char, char_traits<char>, allocator<char> > ostringst
 
 #endif
 
+
+
+
+
 namespace lyx {
 
 /**