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 insert(iterator pos, iterator beg, iterator end);
58 void assign(iterator beg, iterator end);
62 void erase(iterator it);
66 iterator begin() const;
72 void set(Paragraph *);
74 void push_back(Paragraph *);
76 Paragraph const & front() const;
80 Paragraph const & back() const;
94 typedef std::pair<ParagraphList::iterator, int> PitPosPair;
99 bool operator==(ParagraphList::iterator const & i1,
100 ParagraphList::iterator const & i2);
102 bool operator!=(ParagraphList::iterator const & i1,
103 ParagraphList::iterator const & i2);