X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParIterator.h;h=a7631838382f4c8159086bdd1512a00f1040ed5c;hb=4480b72a9dc8a5453a17edf55d4d4a60847a68ae;hp=bcae0b96e80533a80fb7eb364f386a6aadb56224;hpb=f630be890494c849981e4fb52ea4740506e92bed;p=lyx.git diff --git a/src/ParIterator.h b/src/ParIterator.h index bcae0b96e8..a763183838 100644 --- a/src/ParIterator.h +++ b/src/ParIterator.h @@ -4,7 +4,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,21 +13,16 @@ #define PARITERATOR_H #include "DocIterator.h" -#include "ParagraphList_fwd.h" #include "support/types.h" -#include - -#include - namespace lyx { - - -class InsetBase; -class LyXText; +class Buffer; +class Inset; +class Text; +class ParagraphList; class ParIterator : public std::iterator, @@ -42,15 +37,15 @@ public: typedef StdIt::reference reference; /// - ParIterator() : DocIterator() {} - + /// + ParIterator(Buffer * buf) : DocIterator(buf) {} /// - ParIterator(InsetBase &, pit_type pit); + ParIterator(Buffer * buf, Inset &, pit_type pit); /// ParIterator(ParIterator const &); /// - ParIterator(DocIterator const &); + explicit ParIterator(DocIterator const &); /// This really should be implemented... //ParIterator & operator=(ParIterator const &); @@ -76,18 +71,21 @@ public: }; -DocIterator makeDocIterator(ParIterator const &, pos_type); +ParIterator par_iterator_begin(Inset & inset); -ParIterator par_iterator_begin(InsetBase & inset); - -ParIterator par_iterator_end(InsetBase & inset); +ParIterator par_iterator_end(Inset & inset); /// -bool operator==(ParIterator const & iter1, ParIterator const & iter2); +//bool operator==(ParIterator const & it1, ParIterator const & it2); -/// -bool operator!=(ParIterator const & iter1, ParIterator const & iter2); +// FIXME: Unfortunately operator!=(ParIterator &, ParIterator &) is +// implemented with operator!=(DocIterator &, DocIterator &) that gives +// false if the positions are different, even if the pars are the same. +// So ultimately it's a bug in operator!=(ParIterator &, ParIterator &) +// I'd say (nevertheless, I would be reluctant to change it, because I +// fear that some part of the code could rely on this "bug". --Alfredo +//bool operator!=(ParIterator const & it1, ParIterator const & it2); class ParConstIterator : public std::iterator