12 iterator(T value, T step) : value(value), step(step) {}
15 iterator() : value(std::numeric_limits<T>::lowest()) {}
30 return value == rhs.value;
33 return !(*
this == rhs);
41 RangeHelper(T first, T last, T step) : first(first), last(last), step(step) {}
60 T step = last >= first ? T(1) : T(-1);
61 return Range(first, last, step);
67 T step = last >= first ? T(1) : T(-1);
68 return Range(first, last, step);
T & reference
Definition: Range.hpp:19
bool operator==(const iterator &rhs) const
Definition: Range.hpp:29
bool operator!=(const iterator &rhs) const
Definition: Range.hpp:32
std::forward_iterator_tag iterator_category
Definition: Range.hpp:21
iterator cbegin() const
Definition: Range.hpp:45
T value_type
Definition: Range.hpp:17
ptrdiff_t difference_type
Definition: Range.hpp:18
T operator*() const
Definition: Range.hpp:26
T * pointer
Definition: Range.hpp:20
iterator()
Definition: Range.hpp:15
Definition: Approx.hpp:11
RangeHelper(T first, T last, T step)
Definition: Range.hpp:41
void operator++()
Definition: Range.hpp:23
iterator begin() const
Definition: Range.hpp:43
iterator cend() const
Definition: Range.hpp:46
RangeHelper< T > Range(T first, T last, T step)
Definition: Range.hpp:54
iterator end() const
Definition: Range.hpp:44