X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fpariterator.h;h=9f4884184e1046c91e6816abb89f295af4e07b8e;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=d74c08b40efa0e099d72fc497496bf94a6724186;hpb=610e905ed330d44a1756a4559694220455a49fa4;p=lyx.git diff --git a/src/pariterator.h b/src/pariterator.h index d74c08b40e..9f4884184e 100644 --- a/src/pariterator.h +++ b/src/pariterator.h @@ -1,5 +1,5 @@ // -*- C++ -*- -/* \file iterators.h +/* \file pariterator.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * @@ -9,10 +9,11 @@ * Full author contact details are available in file CREDITS. */ -#ifndef ITERATORS_H -#define ITERATORS_H +#ifndef PARITERATOR_H +#define PARITERATOR_H #include "dociterator.h" +#include "ParagraphList_fwd.h" #include "support/types.h" @@ -21,43 +22,61 @@ #include +namespace lyx { + + class InsetBase; class LyXText; -class ParagraphList; class ParIterator : public std::iterator, - public DocumentIterator + public DocIterator { public: + typedef std::iterator StdIt; + + typedef StdIt::value_type value_type; + typedef StdIt::difference_type difference_type; + typedef StdIt::pointer pointer; + typedef StdIt::reference reference; + + /// + ParIterator() : DocIterator() {} + + /// - ParIterator(InsetBase &, lyx::par_type pit); + ParIterator(InsetBase &, pit_type pit); /// ParIterator(ParIterator const &); /// - ParIterator(DocumentIterator const &); + ParIterator(DocIterator const &); - /// - void operator=(ParIterator const &); + /// This really should be implemented... + //ParIterator & operator=(ParIterator const &); /// ParIterator & operator++(); /// - ParIterator & operator--(); + ParIterator operator++(int); + /// See comment in pariterator.C + //ParIterator & operator--(); /// Paragraph & operator*() const; /// Paragraph * operator->() const; /// This gives us the top-most parent paragraph - lyx::par_type outerPar() const; + pit_type outerPar() const; /// - lyx::par_type pit() const; + pit_type pit() const; /// + /// return the paragraph this cursor is in + pit_type & pit() { return DocIterator::pit(); } + ParagraphList & plist() const; }; -DocumentIterator makeDocumentIterator(ParIterator const &, lyx::pos_type); +DocIterator makeDocIterator(ParIterator const &, pos_type); ParIterator par_iterator_begin(InsetBase & inset); @@ -73,13 +92,15 @@ bool operator!=(ParIterator const & iter1, ParIterator const & iter2); class ParConstIterator : public std::iterator, - public DocumentIterator + public DocIterator { public: + /// + ParConstIterator(): DocIterator() {} /// ParConstIterator(ParConstIterator const &); /// - ParConstIterator(DocumentIterator const &); + ParConstIterator(DocIterator const &); /// ParConstIterator & operator++(); @@ -105,4 +126,7 @@ ParConstIterator par_const_iterator_begin(InsetBase const & inset); ParConstIterator par_const_iterator_end(InsetBase const & inset); + +} // namespace lyx + #endif