Template Class TieredVector::Iterator

Nested Relationships

This class is a nested type of Template Class TieredVector.

Class Documentation

template<bool Const>
class Iterator

the iterator by index, random access, on items const if Const

Public Types

using iterator_category = std::random_access_iterator_tag
using value_type = T
using difference_type = std::ptrdiff_t
using reference = std::conditional_t<Const, const T&, T&>
using pointer = std::conditional_t<Const, const T*, T*>

Public Functions

Iterator(void) = default
inline Iterator(Owner *v, std::size_t i)
template<bool K>
inline Iterator(const Iterator<K> &o)
inline reference operator*(void) const
inline pointer operator->(void) const
inline reference operator[](difference_type k) const
inline Iterator &operator++(void)
inline Iterator &operator--(void)
inline Iterator operator++(int)
inline Iterator operator--(int)
inline Iterator &operator+=(difference_type k)
inline Iterator &operator-=(difference_type k)
inline bool operator==(const Iterator &o) const
inline auto operator<=>(const Iterator &o) const

Friends

inline friend Iterator operator+(Iterator a, difference_type k)
inline friend Iterator operator+(difference_type k, Iterator a)
inline friend Iterator operator-(Iterator a, difference_type k)
inline friend difference_type operator-(const Iterator &a, const Iterator &b)