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"
17 #include <boost/scoped_ptr.hpp>
26 ParIterator(ParagraphList::iterator pit, ParagraphList const & pl);
30 ParIterator(ParIterator const &);
32 void operator=(ParIterator const &);
34 ParIterator & operator++();
36 Paragraph & operator*() const;
38 ParagraphList::iterator operator->() const;
39 /// This gives us the top-most parent paragraph
40 ParagraphList::iterator outerPar() const;
42 ParagraphList::iterator pit() const;
44 ParagraphList & plist() const;
45 /// returns 'innermost' LyXText if in an inset or '0' instead of
47 LyXText * text() const;
48 /// returns innermost inset
49 InsetOld * inset() const;
50 /// returns index of cell in innermost inset
55 void asCursor(Cursor & cursor) const;
58 bool operator==(ParIterator const & iter1, ParIterator const & iter2);
61 boost::scoped_ptr<Pimpl> pimpl_;
65 bool operator==(ParIterator const & iter1, ParIterator const & iter2);
68 bool operator!=(ParIterator const & iter1, ParIterator const & iter2);
71 class ParConstIterator {
74 ParConstIterator(ParagraphList::iterator pit, ParagraphList const & pl);
78 ParConstIterator(ParConstIterator const &);
80 ParConstIterator & operator++();
82 ParagraphList::const_iterator pit() const;
84 Paragraph const & operator*() const;
86 ParagraphList::const_iterator operator->() const;
88 ParagraphList const & plist() const;
94 bool operator==(ParConstIterator const & iter1,
95 ParConstIterator const & iter2);
98 boost::scoped_ptr<Pimpl> pimpl_;
101 bool operator==(ParConstIterator const & iter1,
102 ParConstIterator const & iter2);
104 bool operator!=(ParConstIterator const & iter1,
105 ParConstIterator const & iter2);