2 * This file is part of LyX, the document processor.
3 * Licence details can be found in the file COPYING.
6 * \author Lars Gullik Bjønnes
8 * Full author contact details are available in file CREDITS.
13 #include "pariterator.h"
15 #include "ParagraphList_fwd.h"
16 #include "paragraph.h"
19 #include "insets/inset.h"
28 ParIterator::ParIterator(DocIterator const & cur) : DocIterator(cur)
32 ParIterator par_iterator_begin(InsetBase & inset)
34 return ParIterator(doc_iterator_begin(inset));
38 ParIterator par_iterator_end(InsetBase & inset)
40 return ParIterator(doc_iterator_end(inset));
44 ParIterator::ParIterator(ParIterator const & pi)
45 : DocIterator(DocIterator(pi))
49 ParIterator & ParIterator::operator++()
56 ParIterator & ParIterator::operator--()
61 // DocIterator::backwardPar();
66 Paragraph & ParIterator::operator*() const
68 return text()->getPar(par());
72 par_type ParIterator::pit() const
78 Paragraph * ParIterator::operator->() const
80 return &text()->getPar(par());
84 par_type ParIterator::outerPar() const
86 return bottom().par();
90 ParagraphList & ParIterator::plist() const
92 return text()->paragraphs();
96 bool operator==(ParIterator const & iter1, ParIterator const & iter2)
98 return DocIterator(iter1) == DocIterator(iter2);
102 bool operator!=(ParIterator const & iter1, ParIterator const & iter2)
104 return !(iter1 == iter2);
108 DocIterator makeDocIterator(ParIterator const & par, lyx::pos_type pos)
110 DocIterator dit(par);
122 ParConstIterator::ParConstIterator(DocIterator const & dit)
127 ParConstIterator::ParConstIterator(ParConstIterator const & pi)
128 : DocIterator(DocIterator(pi))
132 ParConstIterator & ParConstIterator::operator++()
134 DocIterator::forwardPar();
139 Paragraph const & ParConstIterator::operator*() const
141 return text()->getPar(par());
145 Paragraph const * ParConstIterator::operator->() const
147 return &text()->getPar(par());
151 ParagraphList const & ParConstIterator::plist() const
153 return text()->paragraphs();
157 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2)
159 return DocIterator(iter1) == DocIterator(iter2);
163 bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2)
165 return !(iter1 == iter2);
170 #warning const correctness!
173 ParConstIterator par_const_iterator_begin(InsetBase const & inset)
175 return ParConstIterator(doc_iterator_begin(const_cast<InsetBase &>(inset)));
179 ParConstIterator par_const_iterator_end(InsetBase const & inset)
181 return ParConstIterator(doc_iterator_end(const_cast<InsetBase &>(inset)));