X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fstrfwd.h;h=eef3a83a0ce44a04eeb42ff55e0e57f45a8415ff;hb=cf14e814124ccbc8155fa1dde98d03be319c0e87;hp=94f2136403c121d25bf09ebd94eeb199426a2322;hpb=83bee109db2f535b1a92b02eef811c1476d9f9cf;p=lyx.git diff --git a/src/support/strfwd.h b/src/support/strfwd.h index 94f2136403..eef3a83a0c 100644 --- a/src/support/strfwd.h +++ b/src/support/strfwd.h @@ -13,14 +13,6 @@ #ifndef STRFWD_H #define STRFWD_H -// This includes does nothing but defining _LIBCPP_VERSION -// if libc++ is used (rather than libstdc++) - we first -// check if we have at least a c++03 standard before -// including the file -#if (__cplusplus > 199711L) -#include -#endif - #ifdef USE_WCHAR_T // Prefer this if possible because GNU libstdc++ has usable @@ -31,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 _LIBCPP_VERSION +// 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 @@ -62,10 +63,14 @@ typedef basic_istream > istream; typedef basic_ostream > ostream; typedef basic_ostringstream, allocator > ostringstream; -} // namepace std +} // namespace std #endif + + + + namespace lyx { /**