]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_iterator.h
Georg Baum's vspace change
[lyx.git] / src / mathed / math_iterator.h
index 5d1e972a5eda19f07540ccee4a4f0fcc6d2c7683..bc437b74d3b97409a60c33fe4a6019430c0c9877 100644 (file)
@@ -1,16 +1,28 @@
 // -*- C++ -*-
+/**
+ * \file math_iterator.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
 #ifndef MATH_ITERATOR_H
 #define MATH_ITERATOR_H
 
 #include "math_pos.h"
+
 #include <vector>
 
+
 // this is used for traversing math insets
 
-class MathIterator : private std::vector<MathCursorPos> {
+class MathIterator : private std::vector<CursorPos> {
 public:
        // re-use inherited stuff
-       typedef std::vector<MathCursorPos> base_type;
+       typedef std::vector<CursorPos> base_type;
        using base_type::clear;
        using base_type::size;
        using base_type::push_back;
@@ -18,6 +30,7 @@ public:
        using base_type::back;
        using base_type::begin;
        using base_type::end;
+       using base_type::erase;
        using base_type::operator[];
        using base_type::size_type;
        using base_type::difference_type;
@@ -30,21 +43,25 @@ public:
        /// start with given inset
        explicit MathIterator(MathInset * p);
        ///
-       MathCursorPos const & operator*() const;
+       CursorPos const & operator*() const;
        ///
-       MathCursorPos const & operator->() const;
+       CursorPos const & operator->() const;
        /// move on one step
        void operator++();
        /// move on several steps
        void jump(difference_type);
        /// read access to top most inset
-       MathInset const * par() const;
+       MathInset const * inset() const;
        /// read access to top most inset
-       MathInset * par();
+       MathInset * inset();
        /// helper for iend
        void goEnd();
        /// read access to top most item
        MathArray const & cell() const;
+       /// is this a non-end position
+       bool normal() const;
+       /// shrinks to at most i levels
+       void shrink(size_type i);
 
 private:
        /// own level down