X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParIterator.cpp;h=10de5f312dcea89b7beb6c6eb371e62e153f4120;hb=7261fa94482916cb9bf2ba0d21c4df390ea58320;hp=867e86ca544d4c78a7e0d93e276ceac69e8dbb75;hpb=1050cc44714f8b78e233d6a559ead3d7a8b6aa56;p=lyx.git diff --git a/src/ParIterator.cpp b/src/ParIterator.cpp index 867e86ca54..10de5f312d 100644 --- a/src/ParIterator.cpp +++ b/src/ParIterator.cpp @@ -3,7 +3,7 @@ * Licence details can be found in the file COPYING. * * \author unknown - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -12,7 +12,7 @@ #include "ParIterator.h" -#include "Paragraph.h" +#include "CursorSlice.h" #include "Text.h" #include "insets/Inset.h" @@ -20,32 +20,25 @@ namespace lyx { -/// -/// ParIterator -/// - -ParIterator::ParIterator(DocIterator const & cur) - : DocIterator(cur) -{} +////////////////////////////////////////////////////////////////////////// +// +// ParIterator +// +////////////////////////////////////////////////////////////////////////// ParIterator par_iterator_begin(Inset & inset) { - return ParIterator(doc_iterator_begin(inset)); + return ParIterator(doc_iterator_begin(&inset.buffer(), &inset)); } ParIterator par_iterator_end(Inset & inset) { - return ParIterator(doc_iterator_end(inset)); + return ParIterator(doc_iterator_end(&inset.buffer(), &inset)); } -ParIterator::ParIterator(ParIterator const & pi) - : DocIterator(DocIterator(pi)) -{} - - ParIterator & ParIterator::operator++() { forwardPar(); @@ -76,7 +69,7 @@ ParIterator & ParIterator::operator--() Paragraph & ParIterator::operator*() const { - return const_cast(text()->getPar(pit())); + return text()->getPar(pit()); } @@ -88,7 +81,7 @@ pit_type ParIterator::pit() const Paragraph * ParIterator::operator->() const { - return const_cast(&text()->getPar(pit())); + return &text()->getPar(pit()); } @@ -100,46 +93,23 @@ pit_type ParIterator::outerPar() const ParagraphList & ParIterator::plist() const { - return const_cast(text()->paragraphs()); -} - - -bool operator==(ParIterator const & iter1, ParIterator const & iter2) -{ - return DocIterator(iter1) == DocIterator(iter2); + return text()->paragraphs(); } -bool operator!=(ParIterator const & iter1, ParIterator const & iter2) -{ - return !(iter1 == iter2); -} +////////////////////////////////////////////////////////////////////////// +// +// ParConstIterator +// +////////////////////////////////////////////////////////////////////////// -DocIterator makeDocIterator(ParIterator const & par, pos_type pos) +void ParConstIterator::push_back(Inset const & inset) { - DocIterator dit(par); - dit.pos() = pos; - return dit; + DocIterator::push_back(CursorSlice(const_cast(inset))); } - -/// -/// ParConstIterator -/// - - -ParConstIterator::ParConstIterator(DocIterator const & dit) - : DocIterator(dit) -{} - - -ParConstIterator::ParConstIterator(ParConstIterator const & pi) - : DocIterator(DocIterator(pi)) -{} - - ParConstIterator & ParConstIterator::operator++() { DocIterator::forwardPar(); @@ -164,10 +134,10 @@ ParagraphList const & ParConstIterator::plist() const return text()->paragraphs(); } - +#if 0 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2) { - return DocIterator(iter1) == DocIterator(iter2); + return static_cast(iter1) == static_cast(iter2); } @@ -175,20 +145,7 @@ bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2) { return !(iter1 == iter2); } - - -// FIXME: const correctness! - -ParConstIterator par_const_iterator_begin(Inset const & inset) -{ - return ParConstIterator(doc_iterator_begin(const_cast(inset))); -} - - -ParConstIterator par_const_iterator_end(Inset const & inset) -{ - return ParConstIterator(doc_iterator_end(const_cast(inset))); -} +#endif } // namespace lyx