X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fiterators.h;h=b87d16e5373704abc3c374ae5e712eefc5c98ccd;hb=dab43e77955e5b21fa556f53143d42e09e439f40;hp=148eda029ceabff7a47c8fbdea8794230d70f10a;hpb=0233b6753d5a7ef67263c3111411be04765c629b;p=lyx.git diff --git a/src/iterators.h b/src/iterators.h index 148eda029c..b87d16e537 100644 --- a/src/iterators.h +++ b/src/iterators.h @@ -3,7 +3,7 @@ #ifndef ITERATORS_H #define ITERATORS_H -#include +#include #include "paragraph.h" @@ -35,24 +35,29 @@ bool operator!=(ParPosition const & pos1, ParPosition const & pos2) { class ParIterator { public: + /// + typedef std::stack PosHolder; /// ParIterator() {} - // - ParIterator(Paragraph * par) - : positions(1, ParPosition(par)) {} + /// + ParIterator(Paragraph * par) { + positions.push(ParPosition(par)); + } /// ParIterator & operator++(); /// - Paragraph * operator*() { return positions.back().par; } + Paragraph * operator*() { + return positions.top().par; + } /// - vector::size_type size() const + PosHolder::size_type size() const { return positions.size(); } /// friend bool operator==(ParIterator const & iter1, ParIterator const & iter2); private: /// - std::vector positions; + PosHolder positions; };