26 #include "../iterator.h"
32 class numeric_iterator;
36 template <
typename T >
37 struct std::iterator_traits<
emlabcpp::iterators::numeric_iterator< T > >
54 template <
typename T >
62 : val_( std::move( val ) )
78 val_ +=
static_cast< T
>( offset );
84 val_ -=
static_cast< T
>( offset );
90 return val_ <=> other.val_;
95 return val_ == other.val_;
100 return static_cast< std::ptrdiff_t
>( val_ ) -
101 static_cast< std::ptrdiff_t
>( other.val_ );
numeric iterator - iterator over numbers (which are calculated on the fly) Value of type T is stored ...
Definition: numeric.h:56
constexpr T & operator*()
Definition: numeric.h:66
constexpr auto operator<=>(numeric_iterator< T > const &other) const
Definition: numeric.h:88
constexpr numeric_iterator(T val)
Initializes iterator to value val.
Definition: numeric.h:61
constexpr bool operator==(numeric_iterator< T > const &other) const
Definition: numeric.h:93
constexpr numeric_iterator & operator+=(std::ptrdiff_t offset)
Definition: numeric.h:76
constexpr std::ptrdiff_t operator-(numeric_iterator const &other) const
Definition: numeric.h:98
constexpr numeric_iterator & operator-=(std::ptrdiff_t offset)
Definition: numeric.h:82
constexpr T const & operator*() const
Definition: numeric.h:71
MIT License.
Definition: convert.h:29
MIT License.
Definition: impl.h:31
generic_iterator simplifies custom iterator implementation using CRTP.
Definition: iterator.h:62
T const * const_pointer
Definition: numeric.h:42
T value_type
Definition: numeric.h:39
std::random_access_iterator_tag iterator_category
Definition: numeric.h:44
T * pointer
Definition: numeric.h:41
std::ptrdiff_t difference_type
Definition: numeric.h:40
T & reference
Definition: numeric.h:43