19 #ifndef UTILS_ITERATOR_HPP_INCLUDED
20 #define UTILS_ITERATOR_HPP_INCLUDED
48 template <
typename Value,
class Container,
class Deref,
class Key>
94 reference
operator[](difference_type
n)
const {
return *(*
this +
n); }
97 const base_iter_type &
get(
const Key &)
const {
return iter_; }
123 template <
typename Value,
class Container,
class Deref,
class Key>
173 const base_iter_type &
get(
const Key &)
const {
return iter_; }
236 #endif // UTILS_ITERATOR_HPP_INCLUDED
const_iterator_extend operator--(int)
iterator_extend operator+(difference_type n) const
base_iter_type iter_
The underlying base iterator.
reference operator[](difference_type n) const
pointer operator->() const
iterator_extend operator++(int)
const_iterator_extend operator+(difference_type n) const
Container::iterator base_iter_type
bool operator==(const const_iterator_extend &that) const
bool operator>(const const_iterator_extend &that) const
const_iterator_extend operator-(difference_type n) const
const_iterator_extend(const base_iter_type &iter)
Initialized constructor.
reference operator*() const
base_iter_type::difference_type difference_type
iterator_extend & operator+=(difference_type n)
iterator_extend operator-(difference_type n) const
const_iterator_extend & operator--()
const_iterator_extend & operator-=(difference_type n)
difference_type operator-(const const_iterator_extend< Value, Container, Deref, Key > &that) const
iterator_extend & operator--()
bool operator==(const iterator_extend &that) const
difference_type operator-(const iterator_extend &that) const
bool operator<(const iterator_extend &that) const
base_iter_type::iterator_category iterator_category
bool operator<(const const_iterator_extend &that) const
pointer operator->() const
iterator_extend(const base_iter_type &iter)
Initialized constructor.
reference operator[](difference_type n) const
Container::const_iterator base_iter_type
iterator_extend operator--(int)
bool operator!=(const iterator_extend &that) const
bool operator!=(const const_iterator_extend &that) const
base_iter_type iter_
The underlying base iterator.
iterator_extend & operator-=(difference_type n)
difference_type operator-(const const_iterator_extend &that) const
const_iterator_extend & operator+=(difference_type n)
const_iterator_extend operator++(int)
bool operator>(const iterator_extend &that) const
const_iterator_extend()
Default constructor.
bool operator<=(const const_iterator_extend &that) const
iterator_extend & operator++()
bool operator>=(const iterator_extend &that) const
const base_iter_type & get(const Key &) const
bool operator>=(const const_iterator_extend &that) const
const_iterator_extend & operator++()
bool operator<=(const iterator_extend &that) const
iterator_extend()
Default constructor.
This is a const_iterator class that extends an existing const_iterator by overriding dereference...
const_iterator_extend(const iterator_extend< Value, Container, Deref, Key > &iter)
Conversion from iterator_extend (same parameters).
base_iter_type::difference_type difference_type
reference operator*() const
base_iter_type::iterator_category iterator_category
This is an iterator class that extends an existing iterator by overriding dereference.