X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Ftypes.h;h=fc443dcf533e4b4443a153ae47d7ee6bfdb408eb;hb=bf56e2c8e1afa857cd5e313c19948040e41b8227;hp=446aa3d60f94ee09173ee90093354d00f983f914;hpb=9080c444582799a9967fb27a5eee08931bd3a323;p=lyx.git diff --git a/src/support/types.h b/src/support/types.h index 446aa3d60f..fc443dcf53 100644 --- a/src/support/types.h +++ b/src/support/types.h @@ -8,7 +8,7 @@ * indices wile trying to stay compatible with types used * by the standard containers. * - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -16,29 +16,25 @@ #ifndef LYX_TYPES_H #define LYX_TYPES_H -#include - #include 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 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 - // used there + /*! + * A type for positions used in paragraphs. + * Each position is either occupied by a single character or an inset. + * For insets, the placeholder META_INSET is stored in the paragraph + * text, and the actual insets are maintained separately. + */ + // FIXME: should be unsigned, but needs to be signed for a while to + // hold the special value -1 that is used somewhere + // Note that the signed property is also used in loops counting to zero. typedef ptrdiff_t pos_type; - /// a type for paragraph offsets + /*! + * A type for paragraph offsets. + * This is used to address paragraphs in ParagraphList, Text etc. + */ // FIXME: should be unsigned as well. // however, simply changing it breaks a downward loop somewhere... typedef ptrdiff_t pit_type; @@ -52,9 +48,6 @@ namespace lyx { /// a type for sizes typedef size_t size_type; - /// a type used for numbering text classes - typedef size_t textclass_type; - #else // These structs wrap simple things to make them distinguishible @@ -63,35 +56,22 @@ namespace lyx { struct size_type { /// - typedef size_t base_type; + typedef size_t base_type; /// size_type(base_type t) { data_ = t; } /// operator base_type() const { return data_; } /// - private: + private: base_type data_; }; - struct textclass_type { - /// - typedef size_t base_type; - /// - textclass_type(base_type t) { data_ = t; } - /// - operator base_type() const { return data_; } - /// - private: - base_type data_; - }; - - #endif /// enum word_location { - // the word around the cursor, only if the cursor is - //not at a boundary + /// the word around the cursor, only if the cursor is + /// not at a boundary WHOLE_WORD_STRICT, // the word around the cursor WHOLE_WORD, @@ -103,6 +83,14 @@ namespace lyx { NEXT_WORD }; + /// + enum PageSides { + /// + OneSide, + /// + TwoSides + }; + } // namespace lyx #endif // LYX_TYPES_H