]> git.lyx.org Git - lyx.git/blobdiff - src/support/types.h
Detect mode_t for safe use of chmod, and for scons/msvc
[lyx.git] / src / support / types.h
index 65928821c3f7de3dc54302b24d537ce79ec04ed4..446aa3d60f94ee09173ee90093354d00f983f914 100644 (file)
 #ifndef LYX_TYPES_H
 #define LYX_TYPES_H
 
-#include "docstring.h"
-
 #include <boost/cstdint.hpp>
 
 #include <cstddef>
-#include <string>
 
 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<wchar_t> locale facets but not
+       // std::ctype<boost::uint32_t>. gcc older than 3.4 is also missing
+       // usable std::char_traits<boost::uint32_t>.
+       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