- class inset_iterator {
- public:
- typedef std::input_iterator_tag iterator_category;
- typedef InsetBase value_type;
- typedef ptrdiff_t difference_type;
- typedef InsetBase * pointer;
- typedef InsetBase & reference;
- typedef ParagraphList::iterator base_type;
-
- ///
- inset_iterator();
- ///
- inset_iterator(base_type p, base_type e);
- ///
- inset_iterator(base_type p, lyx::pos_type pos, base_type e);
-
- /// prefix ++
- inset_iterator & operator++();
- /// postfix ++
- inset_iterator operator++(int);
- ///
- reference operator*();
- ///
- pointer operator->();
-
- ///
- ParagraphList::iterator getPar() const;
- ///
- lyx::pos_type getPos() const;
- ///
- friend
- bool operator==(inset_iterator const & iter1,
- inset_iterator const & iter2);
- private:
- ///
- void setParagraph();
- ///
- ParagraphList::iterator pit;
- ///
- ParagraphList::iterator pend;
- ///
- InsetList::iterator it;
- };
-
- /// return an iterator to all *top-level* insets in the buffer
- inset_iterator inset_iterator_begin();
-
- /// return the end of all *top-level* insets in the buffer
- inset_iterator inset_iterator_end();
-
- /// return a const iterator to all *top-level* insets in the buffer
- inset_iterator inset_const_iterator_begin() const;
-
- /// return the const end of all *top-level* insets in the buffer
- inset_iterator inset_const_iterator_end() const;
-
- ///
- PosIterator pos_iterator_begin();
- ///
- PosIterator pos_iterator_end();