X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FParIterator.cpp;h=1ddf3479860dc8d27d96302b3bf4f28ce32f44eb;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=867e86ca544d4c78a7e0d93e276ceac69e8dbb75;hpb=1050cc44714f8b78e233d6a559ead3d7a8b6aa56;p=lyx.git diff --git a/src/ParIterator.cpp b/src/ParIterator.cpp index 867e86ca54..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(); @@ -104,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) @@ -140,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(); @@ -164,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); } @@ -175,20 +170,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