X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParIterator.cpp;h=1ddf3479860dc8d27d96302b3bf4f28ce32f44eb;hb=b73879691f816b0874d9dec0c09e2db7889c4e8e;hp=aee7022b82fd2c84c8abc4d50f6795a267ef85fa;hpb=f630be890494c849981e4fb52ea4740506e92bed;p=lyx.git diff --git a/src/ParIterator.cpp b/src/ParIterator.cpp index aee7022b82..1ddf347986 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. */ @@ -13,36 +13,39 @@ #include "ParIterator.h" #include "Paragraph.h" -#include "LyXText.h" +#include "Text.h" #include "insets/Inset.h" namespace lyx { -/// -/// ParIterator -/// +////////////////////////////////////////////////////////////////////////// +// +// ParIterator +// +////////////////////////////////////////////////////////////////////////// -ParIterator::ParIterator(DocIterator const & cur) : DocIterator(cur) +ParIterator::ParIterator(DocIterator const & dit) + : DocIterator(dit) {} -ParIterator par_iterator_begin(InsetBase & inset) -{ - return ParIterator(doc_iterator_begin(inset)); -} +ParIterator::ParIterator(ParIterator const & pi) + : DocIterator(DocIterator(pi)) +{} -ParIterator par_iterator_end(InsetBase & inset) +ParIterator par_iterator_begin(Inset & inset) { - return ParIterator(doc_iterator_end(inset)); + return ParIterator(doc_iterator_begin(&inset.buffer(), &inset)); } -ParIterator::ParIterator(ParIterator const & pi) - : DocIterator(DocIterator(pi)) -{} +ParIterator par_iterator_end(Inset & inset) +{ + return ParIterator(doc_iterator_end(&inset.buffer(), &inset)); +} ParIterator & ParIterator::operator++() @@ -66,9 +69,7 @@ ParIterator ParIterator::operator++(int) // should not be compiled/used. (Lgb) ParIterator & ParIterator::operator--() { -#ifdef WITH_WARNINGS -#warning look here -#endif + // FIXME: look here // DocIterator::backwardPar(); return *this; } @@ -105,30 +106,16 @@ ParagraphList & ParIterator::plist() const } -bool operator==(ParIterator const & iter1, ParIterator const & iter2) -{ - return DocIterator(iter1) == DocIterator(iter2); -} - - -bool operator!=(ParIterator const & iter1, ParIterator const & iter2) -{ - return !(iter1 == iter2); -} +////////////////////////////////////////////////////////////////////////// +// +// ParConstIterator +// +////////////////////////////////////////////////////////////////////////// -DocIterator makeDocIterator(ParIterator const & par, pos_type pos) -{ - DocIterator dit(par); - dit.pos() = pos; - return dit; -} - - - -/// -/// ParConstIterator -/// +ParConstIterator::ParConstIterator(Buffer const * buf) + : DocIterator(const_cast(buf)) +{} ParConstIterator::ParConstIterator(DocIterator const & dit) @@ -141,6 +128,12 @@ ParConstIterator::ParConstIterator(ParConstIterator const & pi) {} +void ParConstIterator::push_back(Inset const & inset) +{ + DocIterator::push_back(CursorSlice(const_cast(inset))); +} + + ParConstIterator & ParConstIterator::operator++() { DocIterator::forwardPar(); @@ -165,9 +158,10 @@ ParagraphList const & ParConstIterator::plist() const return text()->paragraphs(); } - +#if 0 bool operator==(ParConstIterator const & iter1, ParConstIterator const & iter2) { + // FIXME: this makes two full copies! return DocIterator(iter1) == DocIterator(iter2); } @@ -176,22 +170,7 @@ bool operator!=(ParConstIterator const & iter1, ParConstIterator const & iter2) { return !(iter1 == iter2); } - - -#ifdef WITH_WARNINGS -#warning const correctness! #endif -ParConstIterator par_const_iterator_begin(InsetBase const & inset) -{ - return ParConstIterator(doc_iterator_begin(const_cast(inset))); -} - - -ParConstIterator par_const_iterator_end(InsetBase const & inset) -{ - return ParConstIterator(doc_iterator_end(const_cast(inset))); -} - } // namespace lyx