Go to the documentation of this file. 1 #ifndef GfxTL__INDEXEDITERATOR_HEADER__
2 #define GfxTL__INDEXEDITERATOR_HEADER__
7 template <
class IndexIteratorT,
class IteratorT>
11 typedef typename std::iterator_traits<IteratorT>::value_type
value_type;
12 typedef typename std::iterator_traits<IteratorT>::pointer
pointer;
13 typedef typename std::iterator_traits<IteratorT>::reference
reference;
15 typedef typename std::iterator_traits<IndexIteratorT>::difference_type
difference_type;
17 typedef typename std::iterator_traits<IndexIteratorT>::value_type
IndexType;
31 template <
class IdxItT,
class ItT>
40 return &m_it[*m_idxIt];
46 return m_it[*m_idxIt];
82 return m_idxIt == i.m_idxIt && m_it == i.m_it;
94 return m_idxIt - i.m_idxIt;
112 return m_it[m_idxIt[d]];
121 const IndexIteratorT&
133 template <
class IdxItT,
class ItT>
145 return m_idxIt < i.m_idxIt;
151 return m_idxIt > i.m_idxIt;
157 return m_idxIt <= i.m_idxIt;
163 return m_idxIt >= i.m_idxIt;
167 IndexIteratorT m_idxIt;
171 template <
class IndexIteratorT,
class IteratorT>
172 IndexedIterator<IndexIteratorT, IteratorT>
IndexedIterator(const ThisType &it)
bool operator>(const ThisType &i) const
ThisType operator-(difference_type d) const
std::iterator_traits< IndexIteratorT >::difference_type difference_type
bool operator<(const ThisType &i) const
const IteratorT & Iterator() const
bool operator<=(const ThisType &i) const
std::iterator_traits< IteratorT >::reference reference
std::iterator_traits< IndexIteratorT >::value_type IndexType
bool operator==(const ThisType &i) const
const IndexIteratorT & IndexIterator() const
reference operator[](difference_type d)
IndexedIterator< IndexIteratorT, IteratorT > IndexIterate(IndexIteratorT idxIt, IteratorT it)
IndexedIterator< IndexIteratorT, IteratorT > ThisType
IndexedIterator(IndexIteratorT idxIt, IteratorT it)
difference_type operator-(const ThisType &i) const
bool operator!=(const ThisType &i) const
ThisType operator+(difference_type d) const
bool operator>=(const ThisType &i) const
std::iterator_traits< IteratorT >::pointer pointer
IndexedIterator(const IndexedIterator< IdxItT, ItT > &it)
ThisType & operator=(const IndexedIterator< IdxItT, ItT > &it)
std::iterator_traits< IteratorT >::value_type value_type
std::iterator_traits< IndexIteratorT >::iterator_category iterator_category