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);
60 void splice(iterator pos, ParagraphList & pl);
64 void erase(iterator it);
68 iterator begin() const;
74 void set(Paragraph *);
76 void push_back(Paragraph *);
78 Paragraph const & front() const;
82 Paragraph const & back() const;
96 typedef std::pair<ParagraphList::iterator, int> PitPosPair;
101 bool operator==(ParagraphList::iterator const & i1,
102 ParagraphList::iterator const & i2);
104 bool operator!=(ParagraphList::iterator const & i1,
105 ParagraphList::iterator const & i2);