VCCC  2024.05
VisualCamp Common C++ library
iota_view< W, Bound >::iterator Class Reference

#include </home/jarvis/actions-runner/jarvis-vccc-2/_work/vccc/vccc/include/vccc/__ranges/views/iota_view.hpp>

+ Inheritance diagram for iota_view< W, Bound >::iterator:

Public Types

using value_type = W
 
using difference_type = detail::iota_diff_t< W >
 
using iterator_concept = typename detail::iota_view_iterator_concept< W >::type
 

Public Member Functions

template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, default_initializable< W > >::value, int > = 0>
constexpr iterator ()
 
constexpr iterator (W value)
 
constexpr W operator* () const noexcept(std::is_nothrow_copy_constructible< W >::value)
 
constexpr iteratoroperator++ ()
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, negation< incrementable< W >> >::value, int > = 0>
constexpr void operator++ (int)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, incrementable< W > >::value, int > = 0>
constexpr iterator operator++ (int)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_decrementable< W > >::value, int > = 0>
constexpr iteratoroperator-- ()
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_decrementable< W > >::value, int > = 0>
constexpr iterator operator-- (int)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W >, is_unsigned_integer_like< W > >::value, int > = 0>
constexpr iteratoroperator+= (difference_type n)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W >, negation< is_unsigned_integer_like< W >> >::value, int > = 0>
constexpr iteratoroperator+= (difference_type n)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W >, is_unsigned_integer_like< W > >::value, int > = 0>
constexpr iteratoroperator-= (difference_type n)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W >, negation< is_unsigned_integer_like< W >> >::value, int > = 0>
constexpr iteratoroperator-= (difference_type n)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W > >::value, int > = 0>
constexpr W operator[] (difference_type n) const
 

Friends

class iota_view
 
class sentinel
 
constexpr friend std::enable_if_t< equality_comparable< W >::value, bool > operator== (const iterator &x, const iterator &y)
 
constexpr friend std::enable_if_t< equality_comparable< W >::value, bool > operator!= (const iterator &x, const iterator &y)
 
constexpr friend std::enable_if_t< totally_ordered< W >::value, bool > operator< (const iterator &x, const iterator &y)
 
constexpr friend std::enable_if_t< totally_ordered< W >::value, bool > operator> (const iterator &x, const iterator &y)
 
constexpr friend std::enable_if_t< totally_ordered< W >::value, bool > operator<= (const iterator &x, const iterator &y)
 
constexpr friend std::enable_if_t< totally_ordered< W >::value, bool > operator>= (const iterator &x, const iterator &y)
 
constexpr friend std::enable_if_t< detail::iv_advanceable< W >::value, iteratoroperator+ (iterator i, difference_type n)
 
constexpr friend std::enable_if_t< detail::iv_advanceable< W >::value, iteratoroperator+ (difference_type n, iterator i)
 
constexpr friend std::enable_if_t< detail::iv_advanceable< W >::value, iteratoroperator- (iterator i, difference_type n)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W >, is_signed_integer_like< W > >::value, int > = 0>
constexpr friend difference_type operator- (iterator x, iterator y)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W >, negation< is_signed_integer_like< W >>, is_unsigned_integer_like< W > >::value, int > = 0>
constexpr friend difference_type operator- (iterator x, iterator y)
 
template<typename Dummy = void, std::enable_if_t< conjunction< std::is_void< Dummy >, detail::iv_advanceable< W >, negation< is_signed_integer_like< W >>, negation< is_unsigned_integer_like< W >> >::value, int > = 0>
constexpr friend difference_type operator- (iterator x, iterator y)
 

Member Typedef Documentation

◆ difference_type

using difference_type = detail::iota_diff_t<W>

◆ iterator_concept

using iterator_concept = typename detail::iota_view_iterator_concept<W>::type

◆ value_type

using value_type = W

Constructor & Destructor Documentation

◆ iterator() [1/2]

constexpr iterator ( )
inlineconstexpr

◆ iterator() [2/2]

constexpr iterator ( value)
inlineexplicitconstexpr

Member Function Documentation

◆ operator*()

constexpr W operator* ( ) const
inlineconstexprnoexcept

◆ operator++() [1/3]

constexpr iterator& operator++ ( )
inlineconstexpr

◆ operator++() [2/3]

constexpr void operator++ ( int  )
inlineconstexpr

◆ operator++() [3/3]

constexpr iterator operator++ ( int  )
inlineconstexpr

◆ operator+=() [1/2]

constexpr iterator& operator+= ( difference_type  n)
inlineconstexpr

◆ operator+=() [2/2]

constexpr iterator& operator+= ( difference_type  n)
inlineconstexpr

◆ operator--() [1/2]

constexpr iterator& operator-- ( )
inlineconstexpr

◆ operator--() [2/2]

constexpr iterator operator-- ( int  )
inlineconstexpr

◆ operator-=() [1/2]

constexpr iterator& operator-= ( difference_type  n)
inlineconstexpr

◆ operator-=() [2/2]

constexpr iterator& operator-= ( difference_type  n)
inlineconstexpr

◆ operator[]()

constexpr W operator[] ( difference_type  n) const
inlineconstexpr

Friends And Related Function Documentation

◆ iota_view

friend class iota_view
friend

◆ operator!=

constexpr friend std::enable_if_t<equality_comparable<W>::value, bool> operator!= ( const iterator x,
const iterator y 
)
friend

◆ operator+ [1/2]

constexpr friend std::enable_if_t<detail::iv_advanceable<W>::value, iterator> operator+ ( difference_type  n,
iterator  i 
)
friend

◆ operator+ [2/2]

constexpr friend std::enable_if_t<detail::iv_advanceable<W>::value, iterator> operator+ ( iterator  i,
difference_type  n 
)
friend

◆ operator- [1/4]

constexpr friend std::enable_if_t<detail::iv_advanceable<W>::value, iterator> operator- ( iterator  i,
difference_type  n 
)
friend

◆ operator- [2/4]

constexpr friend difference_type operator- ( iterator  x,
iterator  y 
)
friend

◆ operator- [3/4]

constexpr friend difference_type operator- ( iterator  x,
iterator  y 
)
friend

◆ operator- [4/4]

constexpr friend difference_type operator- ( iterator  x,
iterator  y 
)
friend

◆ operator<

constexpr friend std::enable_if_t<totally_ordered<W>::value, bool> operator< ( const iterator x,
const iterator y 
)
friend

◆ operator<=

constexpr friend std::enable_if_t<totally_ordered<W>::value, bool> operator<= ( const iterator x,
const iterator y 
)
friend

◆ operator==

constexpr friend std::enable_if_t<equality_comparable<W>::value, bool> operator== ( const iterator x,
const iterator y 
)
friend

◆ operator>

constexpr friend std::enable_if_t<totally_ordered<W>::value, bool> operator> ( const iterator x,
const iterator y 
)
friend

◆ operator>=

constexpr friend std::enable_if_t<totally_ordered<W>::value, bool> operator>= ( const iterator x,
const iterator y 
)
friend

◆ sentinel

friend class sentinel
friend

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