pstore2
Public Types | Public Member Functions | Friends | List of all members
pstore::gsl::details::span_iterator< Span, IsConst > Class Template Reference

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = typename std::remove_const< element_type >::type
 
using difference_type = typename Span::index_type
 
using reference = typename std::conditional< IsConst, element_type const, element_type >::type &
 
using pointer = typename std::add_pointer< reference >::type
 

Public Member Functions

constexpr span_iterator (Span const *span, typename Span::index_type index) noexcept
 
constexpr span_iterator (span_iterator< Span, false > const &other) noexcept
 
template<bool OtherIsConst = IsConst, typename = typename std::enable_if<OtherIsConst>::type>
constexpr span_iterator (span_iterator< Span, true > const &other) noexcept
 
span_iteratoroperator= (span_iterator< Span, false > const &rhs) noexcept
 
template<bool OtherIsConst = IsConst, typename = typename std::enable_if<OtherIsConst>::type>
span_iteratoroperator= (span_iterator< Span, true > const &rhs) noexcept
 
reference operator* () const
 
pointer operator-> () const
 
span_iteratoroperator++ () noexcept
 
span_iterator operator++ (int) noexcept
 
span_iteratoroperator-- () noexcept
 
span_iterator operator-- (int) const noexcept
 
span_iterator operator+ (difference_type n) const noexcept
 
span_iteratoroperator+= (difference_type n)
 
span_iteratoroperator-= (difference_type n) noexcept
 
span_iterator operator- (difference_type n) const noexcept
 
difference_type operator- (span_iterator const &rhs) const
 
constexpr reference operator[] (difference_type n) const noexcept
 
void swap (span_iterator &rhs) noexcept
 

Friends

class span_iterator< Span, true >
 
constexpr friend bool operator== (span_iterator const &lhs, span_iterator const &rhs) noexcept
 
constexpr friend bool operator!= (span_iterator const &lhs, span_iterator const &rhs) noexcept
 
bool operator< (span_iterator const &lhs, span_iterator const &rhs)
 
bool operator<= (span_iterator const &lhs, span_iterator const &rhs) noexcept
 
bool operator> (span_iterator const &lhs, span_iterator const &rhs) noexcept
 
bool operator>= (span_iterator const &lhs, span_iterator const &rhs) noexcept
 

The documentation for this class was generated from the following file: