X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fpariterator.C;h=90a3a82b2f12bf232878d1a2e7da94eb02aaf3ff;hb=52eb91c94fb70d58dceef430659c8781de2eccda;hp=7be725d298d12d3d3399ae8ffd2d915d507f5d48;hpb=72dd20be15353d6ab902ecc1f0c1e90e6f2e974b;p=lyx.git diff --git a/src/pariterator.C b/src/pariterator.C index 7be725d298..90a3a82b2f 100644 --- a/src/pariterator.C +++ b/src/pariterator.C @@ -8,25 +8,23 @@ * Full author contact details are available in file CREDITS. */ - #include - #include "pariterator.h" -#include "ParagraphList_fwd.h" #include "paragraph.h" #include "lyxtext.h" #include "insets/inset.h" -using lyx::par_type; + +namespace lyx { /// /// ParIterator /// -ParIterator::ParIterator(DocumentIterator const & cur) : DocumentIterator(cur) +ParIterator::ParIterator(DocIterator const & cur) : DocIterator(cur) {} @@ -43,7 +41,7 @@ ParIterator par_iterator_end(InsetBase & inset) ParIterator::ParIterator(ParIterator const & pi) - : DocumentIterator(DocumentIterator(pi)) + : DocIterator(DocIterator(pi)) {} @@ -54,46 +52,62 @@ ParIterator & ParIterator::operator++() } +ParIterator ParIterator::operator++(int) +{ + ParIterator tmp(*this); + forwardPar(); + return tmp; +} + + +#if 0 +// Unused member functions. Also having this makes ParIterator not be +// an forward iterator anymore. So unless we change that, this function +// should not be compiled/used. (Lgb) ParIterator & ParIterator::operator--() { -// DocumentIterator::backwardPar(); +#ifdef WITH_WARNINGS +#warning look here +#endif +// DocIterator::backwardPar(); return *this; } +#endif Paragraph & ParIterator::operator*() const { - return text()->getPar(par()); + return const_cast(text()->getPar(pit())); } -par_type ParIterator::pit() const +pit_type ParIterator::pit() const { - return par(); + return DocIterator::pit(); } Paragraph * ParIterator::operator->() const { - return &text()->getPar(par()); + return const_cast(&text()->getPar(pit())); } -par_type ParIterator::outerPar() const +pit_type ParIterator::outerPar() const { - return bottom().par(); + return bottom().pit(); } ParagraphList & ParIterator::plist() const { - return text()->paragraphs(); + return const_cast(text()->paragraphs()); } bool operator==(ParIterator const & iter1, ParIterator const & iter2) { - return DocumentIterator(iter1) == DocumentIterator(iter2); + return DocIterator(iter1) == DocIterator(iter2); } @@ -102,45 +116,47 @@ bool operator!=(ParIterator const & iter1, ParIterator const & iter2) return !(iter1 == iter2); } -DocumentIterator -makeDocumentIterator(ParIterator const & par, lyx::pos_type pos) + +DocIterator makeDocIterator(ParIterator const & par, pos_type pos) { - DocumentIterator dit(par); + DocIterator dit(par); dit.pos() = pos; return dit; } + + /// /// ParConstIterator /// -ParConstIterator::ParConstIterator(DocumentIterator const & dit) - : DocumentIterator(dit) +ParConstIterator::ParConstIterator(DocIterator const & dit) + : DocIterator(dit) {} ParConstIterator::ParConstIterator(ParConstIterator const & pi) - : DocumentIterator(DocumentIterator(pi)) + : DocIterator(DocIterator(pi)) {} ParConstIterator & ParConstIterator::operator++() { - DocumentIterator::forwardPar(); + DocIterator::forwardPar(); return *this; } Paragraph const & ParConstIterator::operator*() const { - return text()->getPar(par()); + return text()->getPar(pit()); } Paragraph const * ParConstIterator::operator->() const { - return &text()->getPar(par()); + return &text()->getPar(pit()); } @@ -152,7 +168,7 @@ ParagraphList const & ParConstIterator::plist() const bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2) { - return DocumentIterator(iter1) == DocumentIterator(iter2); + return DocIterator(iter1) == DocIterator(iter2); } @@ -162,7 +178,9 @@ bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2) } +#ifdef WITH_WARNINGS #warning const correctness! +#endif ParConstIterator par_const_iterator_begin(InsetBase const & inset) { @@ -174,3 +192,6 @@ ParConstIterator par_const_iterator_end(InsetBase const & inset) { return ParConstIterator(doc_iterator_end(const_cast(inset))); } + + +} // namespace lyx