]> git.lyx.org Git - lyx.git/blobdiff - src/CursorSlice.h
Make document_language non-mutable
[lyx.git] / src / CursorSlice.h
index ebb695e4da7b5cbc68c898e852d08490a23355d4..d703cb4b3479ac3198c26ea3ed2df0dfaeb82f32 100644 (file)
@@ -4,12 +4,12 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Matthias Ettrich
  * \author John Levon
- * \author André Pönitz
+ * \author André Pönitz
  * \author Dekel Tsur
- * \author Jürgen Vigna
+ * \author Jürgen Vigna
  *
  * Full author contact details are available in file CREDITS.
  */
 #define CURSORSLICE_H
 
 #include "support/types.h"
+#include "support/strfwd.h"
 #include "insets/Inset.h"
 
-#include <cstddef>
-#include <iosfwd>
-
 
 namespace lyx {
 
@@ -40,11 +38,11 @@ class Paragraph;
 
 class CursorSlice {
 public:
-       /// Those needs inset_ access.
-       ///@{
+       /// \name Those needs inset_ access.
+       //@{
        friend class DocIterator;
        friend class StableDocIterator;
-       ///@}
+       //@}
 
        /// type for cell number in inset
        typedef size_t idx_type;
@@ -58,6 +56,15 @@ public:
        ///
        explicit CursorSlice(Inset &);
 
+       /// \name Comparison operators.
+       //@{
+       friend bool operator==(CursorSlice const &, CursorSlice const &);
+       friend bool operator!=(CursorSlice const &, CursorSlice const &);
+       friend bool operator<(CursorSlice const &, CursorSlice const &);
+       friend bool operator>(CursorSlice const &, CursorSlice const &);
+       friend bool operator<=(CursorSlice const &, CursorSlice const &);
+       //@}
+
        /// the current inset
        Inset & inset() const { return *inset_; }
        /// return the cell this cursor is in
@@ -125,6 +132,10 @@ public:
        void forwardIdx();
        /// move to previous cell
        void backwardIdx();
+       /// are we at the end of the cell
+       bool at_cell_end() const;
+       /// are we at the start of the cell
+       bool at_cell_begin() const;
        /// are we at the end of this slice
        bool at_end() const;
        /// are we at the start of this slice
@@ -152,23 +163,10 @@ private:
        idx_type idx_;
        /// paragraph in this cell (used by texted)
        pit_type pit_;
-       /// true if 'pit' was properly initialized
-       bool pit_valid_;
        /// position in this cell
        pos_type pos_;
 };
 
-/// test for equality
-bool operator==(CursorSlice const &, CursorSlice const &);
-/// test for inequality
-bool operator!=(CursorSlice const &, CursorSlice const &);
-/// test for order
-bool operator<(CursorSlice const &, CursorSlice const &);
-/// test for order
-bool operator>(CursorSlice const &, CursorSlice const &);
-/// test for order
-bool operator<=(CursorSlice const &, CursorSlice const &);
-
 
 } // namespace lyx