17 typedef std::bidirectional_iterator_tag iterator_category;
19 typedef Row * value_type;
21 typedef ptrdiff_t difference_type;
23 typedef Row * pointer;
25 typedef Row & reference;
31 reference operator*();
35 iterator & operator++();
37 iterator operator++(int);
39 iterator & operator--();
41 iterator operator--(int);
47 class const_iterator {
50 typedef std::bidirectional_iterator_tag iterator_category;
52 typedef Row * value_type;
54 typedef ptrdiff_t difference_type;
56 typedef Row const * const_pointer;
58 typedef Row const & const_reference;
62 const_iterator(value_type);
64 const_reference operator*();
66 const_pointer operator->();
68 const_iterator & operator++();
70 const_iterator operator++(int);
72 const_iterator & operator--();
74 const_iterator operator--(int);
82 iterator insert(iterator it, Row * row);
86 void erase(iterator it);
90 const_iterator begin() const;
94 const_iterator end() const;
96 void push_back(Row *);
98 Row const & front() const;
102 Row const & back() const;
115 bool operator==(RowList::iterator const & i1,
116 RowList::iterator const & i2);
118 bool operator!=(RowList::iterator const & i1,
119 RowList::iterator const & i2);
122 bool operator==(RowList::const_iterator const & i1,
123 RowList::const_iterator const & i2);
125 bool operator!=(RowList::const_iterator const & i1,
126 RowList::const_iterator const & i2);