3 #ifndef PARAGRAPH_LIST_H
4 #define PARAGRAPH_LIST_H
17 typedef std::bidirectional_iterator_tag iterator_category;
19 typedef Paragraph * value_type;
21 typedef ptrdiff_t difference_type;
23 typedef Paragraph * pointer;
25 typedef Paragraph & reference;
31 reference operator*();
35 iterator & operator++();
37 iterator operator++(int);
39 iterator & operator--();
41 iterator operator--(int);
49 iterator insert(iterator it, Paragraph * par);
53 void erase(iterator it);
57 iterator begin() const;
63 void set(Paragraph *);
65 void push_back(Paragraph *);
67 Paragraph const & front() const;
71 Paragraph const & back() const;
84 bool operator==(ParagraphList::iterator const & i1,
85 ParagraphList::iterator const & i2);
87 bool operator!=(ParagraphList::iterator const & i1,
88 ParagraphList::iterator const & i2);