X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Ftypes.h;h=446aa3d60f94ee09173ee90093354d00f983f914;hb=c8429d4bbc2e9291a6b5742233aecb089a3eece1;hp=65928821c3f7de3dc54302b24d537ce79ec04ed4;hpb=c46b7d89553209b8df4e9de392ee07ef711f092f;p=lyx.git diff --git a/src/support/types.h b/src/support/types.h index 65928821c3..446aa3d60f 100644 --- a/src/support/types.h +++ b/src/support/types.h @@ -16,21 +16,22 @@ #ifndef LYX_TYPES_H #define LYX_TYPES_H -#include "docstring.h" - #include #include -#include namespace lyx { - // The type used to hold characters in paragraphs - typedef boost::uint32_t char_type; // Possibly the ucs-4 type we will use - //typedef wchar_t char_type; // The wide char type CJK-LyX uses - //typedef char char_type; // Current narrow char type in use - - //typedef std::wstring docstring; + /// The type used to hold characters in paragraphs +#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4 + // Prefer this if possible because GNU libstdc++ has usable + // std::ctype locale facets but not + // std::ctype. gcc older than 3.4 is also missing + // usable std::char_traits. + typedef wchar_t char_type; +#else + typedef boost::uint32_t char_type; +#endif /// a type for positions used in paragraphs // needs to be signed for a while to hold the special value -1 that is