]> 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 fa04a8b5f3bc8ad47cab7c76a9c8c65871c50239..446aa3d60f94ee09173ee90093354d00f983f914 100644 (file)
 #ifndef LYX_TYPES_H
 #define LYX_TYPES_H
 
+#include <boost/cstdint.hpp>
+
 #include <cstddef>
 
 namespace lyx {
 
+       /// 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
        // used there
@@ -28,7 +41,7 @@ namespace lyx {
        /// a type for paragraph offsets
        // FIXME: should be unsigned as well.
        // however, simply changing it breaks a downward loop somewhere...
-       typedef ptrdiff_t  paroffset_type;
+       typedef ptrdiff_t  pit_type;
 
        /// a type for the nesting depth of a paragraph
        typedef size_t     depth_type;