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 proper
89 RowList::insert(RowList::iterator it, Row * row)
92 Row * prev = it->previous();
97 } else if (rowlist == 0) {
101 Row * last = rowlist;
107 return iterator(row);
111 void RowList::clear()
114 Row * tmp = rowlist->next();
121 void RowList::erase(RowList::iterator it)
123 Row * prev = it->previous();
124 Row * next = it->next();
132 next->previous(prev);
138 RowList::iterator RowList::begin()
140 return iterator(rowlist);
144 RowList::iterator RowList::begin() const
146 return iterator(rowlist);
150 RowList::iterator RowList::end()
156 RowList::iterator RowList::end() const
162 Row const & RowList::front() const
168 Row & RowList::front()
174 Row const & RowList::back() const
183 Row & RowList::back()
192 void RowList::set(Row * p)
198 void RowList::push_back(Row * p)
213 int RowList::size() const
215 // When we switch to a std::container this will be O(1)
216 // instead of O(n). (Lgb)
227 bool RowList::empty() const