5 template<
class C>
class ItemDomain;
7 template<
typename T>
class ItemIterator :
public std::iterator<std::random_access_iterator_tag, T>
56 _current = iter._current;
69 _current = iter._current;
129 return _range == iter._range && _current < iter._current;
141 return _range == iter._range && _current > iter._current;
153 return _range == iter._range && _current <= iter._current;
165 return _range == iter._range && _current >= iter._current;
173 if ( _current != iUNDEF) {
174 T *obj =
static_cast<T *
>(_range->
itemByOrder(_current).data());
224 return _current != iUNDEF && iter._current!= iUNDEF && _current == iter._current && _range ==iter._range;
267 void move(qint32 n) {
268 _current = _range->
gotoIndex(_current, n);
275 template<
typename T> ItemIterator<T> operator+(
const ItemIterator<T>& iter,
int n) {
276 ItemIterator<T> iterTemp(iter);
281 template<
typename T> ItemIterator<T> operator-(
const ItemIterator<T>& iter,
int n) {
282 ItemIterator<T> iterTemp(iter);
287 template<
typename T> ItemIterator<T> operator+(
int n,
const ItemIterator<T>& iter) {
288 ItemIterator<T> iterTemp(iter);
293 template<
typename T> ItemIterator<T> operator-(
int n,
const ItemIterator<T>& iter) {
294 ItemIterator<T> iterTemp(iter);
300 #endif // ITEMITERATOR_H