X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fstrfwd.h;h=eef3a83a0ce44a04eeb42ff55e0e57f45a8415ff;hb=cf14e814124ccbc8155fa1dde98d03be319c0e87;hp=ee4888abd44e0dd05557571b1db91226e11fed29;hpb=7796ad3a3686694733b936076a3086f8d275f64b;p=lyx.git diff --git a/src/support/strfwd.h b/src/support/strfwd.h index ee4888abd4..eef3a83a0c 100644 --- a/src/support/strfwd.h +++ b/src/support/strfwd.h @@ -23,13 +23,22 @@ namespace lyx { typedef wchar_t char_type; } #else -#include -namespace lyx { typedef boost::uint32_t char_type; } +#include + +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +namespace lyx { typedef uint32_t char_type; } +#include "support/numpunct_lyx_char_type.h" // implementation for our char_type needed +#else +namespace lyx { typedef std::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 #else @@ -54,10 +63,14 @@ typedef basic_istream > istream; typedef basic_ostream > ostream; typedef basic_ostringstream, allocator > ostringstream; -} // namepace std +} // namespace std #endif + + + + namespace lyx { /**