X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fstrfwd.h;h=c7e9c55517d6eb4726244274cdbb0b79503bc9b5;hb=cc2835392294fb1e82a89b2ec3803f78c9183f18;hp=ee4888abd44e0dd05557571b1db91226e11fed29;hpb=9c55af4a223ce4db29d643251109e245665344bd;p=lyx.git diff --git a/src/support/strfwd.h b/src/support/strfwd.h index ee4888abd4..c7e9c55517 100644 --- a/src/support/strfwd.h +++ b/src/support/strfwd.h @@ -23,13 +23,22 @@ namespace lyx { typedef wchar_t char_type; } #else +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +#include +namespace lyx { typedef uint32_t char_type; } +#include "support/numpunct_lyx_char_type.h" // implementation for our char_type needed +#else #include 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 #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 { /**