30 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
   50     struct Iterator : 
public std::iterator<std::input_iterator_tag, T> {
 
   59       : 
index(iteratorIndex)
 
   90         return index != other.index;
 
  100         return index == other.index;
 
  111       return lo <= value && value < 
hi;
 
  191   extern template struct Range<
float>;
 
  192   extern template struct Range<
int>;
 
  193   extern template struct Range<
unsigned>;
 
  196 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
A range iterator. 
Definition: Range.h:50
constexpr Iterator(T iteratorIndex) noexcept
Constructor. 
Definition: Range.h:58
A half-open range of values. 
Definition: Range.h:42
constexpr bool operator!=(const Iterator &other) const noexcept
Inequality operator. 
Definition: Range.h:89
T operator*() noexcept
Dereference operator. 
Definition: Range.h:69
constexpr bool isEmpty() const noexcept
Check if the range is empty. 
Definition: Range.h:149
T lo
The lower endpoint (included) 
Definition: Range.h:43
constexpr bool operator==(const Iterator &other) const noexcept
Equality operator. 
Definition: Range.h:99
constexpr Iterator end() const noexcept
Get a end iterator. 
Definition: Range.h:130
T hi
The higher endpoint (excluded) 
Definition: Range.h:44
constexpr bool contains(T value) const noexcept
Check if a value is in a range. 
Definition: Range.h:110
constexpr Iterator begin() const noexcept
Get a begin iterator. 
Definition: Range.h:120
T index
The index in the range. 
Definition: Range.h:51
constexpr T length() const noexcept
Get the length of the range. 
Definition: Range.h:139
Iterator & operator++() noexcept
Increment operator. 
Definition: Range.h:78
constexpr bool isValid() const noexcept
Check is the range is valid. 
Definition: Range.h:159