3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
7 * \author Lars Gullik Bjønnes
9 * Full author contact details are available in file CREDITS.
15 #include "ParagraphList_fwd.h"
16 #include "support/types.h"
18 #include <boost/scoped_ptr.hpp>
29 ParIterator(ParagraphList::iterator pit, ParagraphList const & pl);
33 ParIterator(ParIterator const &);
35 void operator=(ParIterator const &);
37 ParIterator & operator++();
39 Paragraph & operator*() const;
41 ParagraphList::iterator operator->() const;
42 /// This gives us the top-most parent paragraph
43 ParagraphList::iterator outerPar() const;
45 ParagraphList::iterator pit() const;
47 ParagraphList & plist() const;
48 /// returns 'innermost' LyXText if in an inset or '0' instead of
50 LyXText * text() const;
51 /// returns innermost inset
52 InsetOld * inset() const;
53 /// returns index of cell in innermost inset
58 void asCursor(Cursor & cursor) const;
61 bool operator==(ParIterator const & iter1, ParIterator const & iter2);
64 PosIterator asPosIterator(lyx::pos_type) const;
67 boost::scoped_ptr<Pimpl> pimpl_;
71 bool operator==(ParIterator const & iter1, ParIterator const & iter2);
74 bool operator!=(ParIterator const & iter1, ParIterator const & iter2);
77 class ParConstIterator {
80 ParConstIterator(ParagraphList::iterator pit, ParagraphList const & pl);
84 ParConstIterator(ParConstIterator const &);
86 ParConstIterator & operator++();
88 ParagraphList::const_iterator pit() const;
90 Paragraph const & operator*() const;
92 ParagraphList::const_iterator operator->() const;
94 ParagraphList const & plist() const;
100 bool operator==(ParConstIterator const & iter1,
101 ParConstIterator const & iter2);
105 boost::scoped_ptr<Pimpl> pimpl_;
108 bool operator==(ParConstIterator const & iter1,
109 ParConstIterator const & iter2);
111 bool operator!=(ParConstIterator const & iter1,
112 ParConstIterator const & iter2);