X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParIterator.cpp;h=1ddf3479860dc8d27d96302b3bf4f28ce32f44eb;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=80f35de25f89a58a37de5c5a551aff711dbe3802;hpb=e0d54dd3b497b78094ea16ab0f38ccdc8c1642e2;p=lyx.git diff --git a/src/ParIterator.cpp b/src/ParIterator.cpp index 80f35de25f..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. */ @@ -20,32 +20,34 @@ namespace lyx { -/// -/// ParIterator -/// +////////////////////////////////////////////////////////////////////////// +// +// ParIterator +// +////////////////////////////////////////////////////////////////////////// -ParIterator::ParIterator(DocIterator const & cur) - : DocIterator(cur) +ParIterator::ParIterator(DocIterator const & dit) + : DocIterator(dit) +{} + + +ParIterator::ParIterator(ParIterator const & pi) + : DocIterator(DocIterator(pi)) {} 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(); @@ -67,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; } @@ -106,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) @@ -142,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(); @@ -166,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); } @@ -177,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(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))); -} - } // namespace lyx