3 #ifndef PARAGRAPH_LIST_H
4 #define PARAGRAPH_LIST_H
10 #include "paragraph.h"
14 typedef std::list<Paragraph> ParagraphList;
29 friend class ParagraphList;
31 typedef std::bidirectional_iterator_tag iterator_category;
33 typedef Paragraph * value_type;
35 typedef ptrdiff_t difference_type;
37 typedef Paragraph * pointer;
39 typedef Paragraph & reference;
43 reference operator*();
47 iterator & operator++();
49 iterator operator++(int);
51 iterator & operator--();
53 iterator operator--(int);
63 ParagraphList(ParagraphList const &);
65 ParagraphList & operator=(ParagraphList const &);
67 iterator insert(iterator it, Paragraph const & par);
69 void insert(iterator pos, iterator beg, iterator end);
71 void assign(iterator beg, iterator end);
73 void splice(iterator pos, ParagraphList & pl);
77 iterator erase(iterator it);
79 iterator erase(iterator first, iterator last);
83 iterator begin() const;
89 void push_back(Paragraph const &);
91 Paragraph const & front() const;
95 Paragraph const & back() const;
109 typedef std::pair<ParagraphList::iterator, int> PitPosPair;
114 bool operator==(ParagraphList::iterator const & i1,
115 ParagraphList::iterator const & i2);
117 bool operator!=(ParagraphList::iterator const & i1,
118 ParagraphList::iterator const & i2);