8#ifndef INCLUDED_SDSL_ITERATORS
9#define INCLUDED_SDSL_ITERATORS
38 typename t_rac::size_type m_idx;
40 template <
class t_RAC>
52 return (*m_rac)[m_idx];
120 return it.m_rac == m_rac && it.m_idx == m_idx;
125 return !(*
this == it);
130 return m_idx < it.m_idx;
135 return m_idx > it.m_idx;
140 return !(*
this < it);
145 return !(*
this > it);
149template <
class t_rac>
157template <
class t_rac>
164template <
typename t_F>
169 typedef typename std::invoke_result_t<t_F, size_type>
value_type;
int_vector_size_type size_type
ptrdiff_t difference_type
Generic iterator for a random access container.
friend random_access_const_iterator< t_RAC >::difference_type operator-(random_access_const_iterator< t_RAC > const &x, random_access_const_iterator< t_RAC > const &y)
iterator operator++(int)
Postfix increment of the Iterator.
random_access_const_iterator(t_rac const *rac, size_type idx=0)
Constructor.
bool operator!=(iterator const &it) const
iterator & operator--()
Prefix decrement of the Iterator.
typename t_rac::difference_type difference_type
std::random_access_iterator_tag iterator_category
iterator & operator+=(difference_type i)
bool operator>(iterator const &it) const
t_rac::size_type size_type
bool operator==(iterator const &it) const
bool operator<(iterator const &it) const
random_access_const_iterator< t_rac > iterator
bool operator<=(iterator const &it) const
iterator & operator-=(difference_type i)
bool operator>=(iterator const &it) const
const t_rac::value_type const_reference
iterator & operator++()
Prefix increment of the Iterator.
iterator operator--(int)
Postfix decrement of the Iterator.
iterator operator+(difference_type i) const
const_reference operator[](difference_type i) const
const_reference operator*() const
Dereference operator for the Iterator.
typename t_rac::value_type value_type
iterator operator-(difference_type i) const
int_vector.hpp contains the sdsl::int_vector class.
Namespace for the succinct data structure library.
int_vector_iterator< t_int_vector > operator+(typename int_vector_iterator< t_int_vector >::difference_type n, int_vector_iterator< t_int_vector > const &it)
int_vector_const_iterator< t_int_vector >::difference_type operator-(int_vector_const_iterator< t_int_vector > const &x, int_vector_const_iterator< t_int_vector > const &y)
random_access_const_iterator< random_access_container > iterator_type
iterator_type begin() const
std::invoke_result_t< t_F, size_type > value_type
int_vector ::difference_type difference_type
int_vector ::size_type size_type
random_access_container()
iterator_type end() const
value_type operator[](size_type i) const
random_access_container(t_F ff, size_type size)