3 #ifndef PARAGRAPH_LIST_H
4 #define PARAGRAPH_LIST_H
18 typedef std::bidirectional_iterator_tag iterator_category;
20 typedef Paragraph * value_type;
22 typedef ptrdiff_t difference_type;
24 typedef Paragraph * pointer;
26 typedef Paragraph & reference;
32 reference operator*();
36 iterator & operator++();
38 iterator operator++(int);
40 iterator & operator--();
42 iterator operator--(int);
50 ParagraphList(ParagraphList const &);
52 ParagraphList & operator=(ParagraphList const &);
54 iterator insert(iterator it, Paragraph * par);
56 void assign(iterator beg, iterator end);
60 void erase(iterator it);
64 iterator begin() const;
70 void set(Paragraph *);
72 void push_back(Paragraph *);
74 Paragraph const & front() const;
78 Paragraph const & back() const;
92 typedef std::pair<ParagraphList::iterator, int> PitPosPair;
97 bool operator==(ParagraphList::iterator const & i1,
98 ParagraphList::iterator const & i2);
100 bool operator!=(ParagraphList::iterator const & i1,
101 ParagraphList::iterator const & i2);