3 #include "ParagraphList.h"
7 ////////// The ParagraphList::iterator
9 ParagraphList::iterator::iterator()
14 ParagraphList::iterator::iterator(Paragraph * p)
19 ParagraphList::iterator::reference
20 ParagraphList::iterator::operator*()
26 ParagraphList::iterator::pointer
27 ParagraphList::iterator::operator->()
33 ParagraphList::iterator &
34 ParagraphList::iterator::operator++()
41 ParagraphList::iterator
42 ParagraphList::iterator::operator++(int)
50 ParagraphList::iterator &
51 ParagraphList::iterator::operator--()
53 ptr = ptr->previous();
58 ParagraphList::iterator
59 ParagraphList::iterator::operator--(int)
67 bool operator==(ParagraphList::iterator const & i1,
68 ParagraphList::iterator const & i2)
70 return &(*const_cast<ParagraphList::iterator&>(i1))
71 == &(*const_cast<ParagraphList::iterator&>(i2));
75 bool operator!=(ParagraphList::iterator const & i1,
76 ParagraphList::iterator const & i2)
82 ////////// The ParagraphList proper
83 ParagraphList::ParagraphList()
88 ParagraphList::iterator
89 ParagraphList::insert(ParagraphList::iterator it, Paragraph * par)
92 Paragraph * prev = it->previous();
99 Paragraph * last = parlist;
105 return iterator(par);
109 void ParagraphList::clear()
112 Paragraph * tmp = parlist->next();
119 void ParagraphList::erase(ParagraphList::iterator it)
121 Paragraph * prev = it->previous();
122 Paragraph * next = it->next();
127 next->previous(prev);
133 ParagraphList::iterator ParagraphList::begin()
135 return iterator(parlist);
139 ParagraphList::iterator ParagraphList::begin() const
141 return iterator(parlist);
145 ParagraphList::iterator ParagraphList::end()
151 ParagraphList::iterator ParagraphList::end() const
157 void ParagraphList::set(Paragraph * p)
163 void ParagraphList::push_back(Paragraph * p)
170 Paragraph * pos = parlist;
178 int ParagraphList::size() const
180 // When we switch to a std::container this will be O(1)
181 // instead of O(n). (Lgb)
182 Paragraph * tmp = parlist;
192 bool ParagraphList::empty() const