3 #ifndef PARAGRAPH_LIST_H
4 #define PARAGRAPH_LIST_H
10 #include "paragraph.h"
14 typedef std::list<Paragraph> ParagraphList;
30 typedef std::bidirectional_iterator_tag iterator_category;
32 typedef Paragraph * value_type;
34 typedef ptrdiff_t difference_type;
36 typedef Paragraph * pointer;
38 typedef Paragraph & reference;
44 reference operator*();
48 iterator & operator++();
50 iterator operator++(int);
52 iterator & operator--();
54 iterator operator--(int);
62 ParagraphList(ParagraphList const &);
64 ParagraphList & operator=(ParagraphList const &);
66 iterator insert(iterator it, Paragraph const & par);
68 void insert(iterator pos, iterator beg, iterator end);
70 void assign(iterator beg, iterator end);
72 void splice(iterator pos, ParagraphList & pl);
76 iterator erase(iterator it);
78 iterator erase(iterator first, iterator last);
82 iterator begin() const;
88 void push_back(Paragraph const &);
90 Paragraph const & front() const;
94 Paragraph const & back() const;
108 typedef std::pair<ParagraphList::iterator, int> PitPosPair;
113 bool operator==(ParagraphList::iterator const & i1,
114 ParagraphList::iterator const & i2);
116 bool operator!=(ParagraphList::iterator const & i1,
117 ParagraphList::iterator const & i2);