7 ////////// The RowList::iterator
9 RowList::iterator::iterator()
14 RowList::iterator::iterator(Row * p)
19 RowList::iterator::reference
20 RowList::iterator::operator*()
26 RowList::iterator::pointer
27 RowList::iterator::operator->()
34 RowList::iterator::operator++()
42 RowList::iterator::operator++(int)
51 RowList::iterator::operator--()
53 ptr = ptr->previous();
59 RowList::iterator::operator--(int)
67 bool operator==(RowList::iterator const & i1,
68 RowList::iterator const & i2)
70 return &(*const_cast<RowList::iterator&>(i1))
71 == &(*const_cast<RowList::iterator&>(i2));
75 bool operator!=(RowList::iterator const & i1,
76 RowList::iterator const & i2)
82 ////////// The RowList::const_iterator
84 RowList::const_iterator::const_iterator()
89 RowList::const_iterator::const_iterator(Row * p)
94 RowList::const_iterator::const_reference
95 RowList::const_iterator::operator*()
101 RowList::const_iterator::const_pointer
102 RowList::const_iterator::operator->()
108 RowList::const_iterator &
109 RowList::const_iterator::operator++()
116 RowList::const_iterator
117 RowList::const_iterator::operator++(int)
119 const_iterator tmp = *this;
125 RowList::const_iterator &
126 RowList::const_iterator::operator--()
128 ptr = ptr->previous();
133 RowList::const_iterator
134 RowList::const_iterator::operator--(int)
136 const_iterator tmp = *this;
142 bool operator==(RowList::const_iterator const & i1,
143 RowList::const_iterator const & i2)
145 return &(*const_cast<RowList::const_iterator&>(i1))
146 == &(*const_cast<RowList::const_iterator&>(i2));
150 bool operator!=(RowList::const_iterator const & i1,
151 RowList::const_iterator const & i2)
157 ////////// The RowList proper
164 RowList::insert(RowList::iterator it, Row * row)
168 } else if (it != end()) {
169 Row * prev = it->previous();
179 Row * last = rowlist;
185 return iterator(row);
189 void RowList::clear()
192 Row * tmp = rowlist->next();
199 void RowList::erase(RowList::iterator it)
201 Row * prev = it->previous();
202 Row * next = it->next();
210 next->previous(prev);
216 RowList::iterator RowList::begin()
218 return iterator(rowlist);
222 RowList::const_iterator RowList::begin() const
224 return const_iterator(rowlist);
228 RowList::iterator RowList::end()
234 RowList::const_iterator RowList::end() const
236 return const_iterator();
240 Row const & RowList::front() const
246 Row & RowList::front()
252 Row const & RowList::back() const
261 Row & RowList::back()
270 void RowList::push_back(Row * p)
285 int RowList::size() const
287 // When we switch to a std::container this will be O(1)
288 // instead of O(n). (Lgb)
299 bool RowList::empty() const