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)
93 } else if (it != end()) {
94 Row * prev = it->previous();
104 Row * last = rowlist;
110 return iterator(row);
114 void RowList::clear()
117 Row * tmp = rowlist->next();
124 void RowList::erase(RowList::iterator it)
126 Row * prev = it->previous();
127 Row * next = it->next();
135 next->previous(prev);
141 RowList::iterator RowList::begin()
143 return iterator(rowlist);
147 RowList::iterator RowList::begin() const
149 return iterator(rowlist);
153 RowList::iterator RowList::end()
159 RowList::iterator RowList::end() const
165 Row const & RowList::front() const
171 Row & RowList::front()
177 Row const & RowList::back() const
186 Row & RowList::back()
195 void RowList::set(Row * p)
201 void RowList::push_back(Row * p)
216 int RowList::size() const
218 // When we switch to a std::container this will be O(1)
219 // instead of O(n). (Lgb)
230 bool RowList::empty() const