Go to the documentation of this file.
30 template<
class IntType>
38 template<
class IntType>
49 template<
class IntType>
63 template<
class IntType>
71 template<
class IntType>
72 inline constexpr IntType
80 template<
class IntType>
81 inline constexpr IntType
89 template<
class IntType>
99 template<
class IntType>
110 template<
class IntType>
120 template<
class IntType>
131 template<
class IntType>
141 template<
class IntType>
151 template<
class IntType>
160 template<
class IntType>
169 template<
class IntType>
170 inline constexpr IntType
174 return (value_ - iter.value_);
178 template<
class IntType>
179 inline constexpr
bool
183 return (value_ == iter.value_);
187 template<
class IntType>
188 inline constexpr
bool
192 return (value_ < iter.value_);
198 template<
class IntType>
206 template<
class IntType>
207 inline constexpr IntType
215 template<
class IntType>
216 inline constexpr IntType
224 template<
class IntType>
234 template<
class IntType>
245 template<
class IntType>
255 template<
class IntType>
266 template<
class IntType>
276 template<
class IntType>
286 template<
class IntType>
295 template<
class IntType>
304 template<
class IntType>
305 inline constexpr IntType
309 return (iter.value_ - value_);
313 template<
class IntType>
314 inline constexpr
bool
318 return (value_ == iter.value_);
322 template<
class IntType>
323 inline constexpr
bool
327 return (value_ > iter.value_);
333 template<
class IntType>
337 return const_iterator(start_ + ((i < 0 || i > size_) ? size_ : i));
341 template<
class IntType>
345 return const_iterator(start_);
349 template<
class IntType>
353 return const_iterator(start_);
357 template<
class IntType>
361 return const_iterator(start_ + size_);
365 template<
class IntType>
369 return const_iterator(start_ + size_);
373 template<
class IntType>
377 return const_reverse_iterator(start_ + (size_-1));
381 template<
class IntType>
385 return const_reverse_iterator(start_ + (size_-1));
389 template<
class IntType>
393 return const_reverse_iterator(start_ - 1);
397 template<
class IntType>
401 return const_reverse_iterator(start_ - 1);
407 template<
class IntType>
414 template<
class IntType>
421 template<
class IntType>
428 template<
class IntType>
435 template<
class IntType>
442 template<
class IntType>
449 template<
class IntType>
452 return (start_ + (size_-1));
456 template<
class IntType>
463 template<
class IntType>
466 return (start_ + size_);
470 template<
class IntType>
477 template<
class IntType>
489 template<
class IntType>
496 template<
class IntType>
503 template<
class IntType>
510 template<
class IntType>
513 if (size_ < 0) size_ = 0;
517 template<
class IntType>
523 return (size_ && start_ <= value && (value - start_) < size_);
529 template<
class IntType>
537 template<
class IntType>
545 template<
class IntType>
553 template<
class IntType>
561 template<
class IntType>
571 template<
class IntType>
575 const IntType old(size_);
582 template<
class IntType>
591 template<
class IntType>
constexpr const_reverse_iterator operator+(const IntType n) const noexcept
Return iterator with offset.
const_reverse_iterator crbegin() const noexcept
A const_reverse_iterator set to 1 before the end of range.
const_iterator & operator-=(const IntType n) noexcept
Arbitrary decrement.
IntType rend_value() const noexcept
The value 1 before the start of the range.
const_iterator at(const IntType i) const
constexpr IntType operator*() const noexcept
Return the value.
const_iterator end() const noexcept
A const_iterator set to 1 beyond the end of the range.
constexpr const_reverse_iterator(const IntType val=0) noexcept
Construct with specified value, or default construct.
const_reverse_iterator rbegin() const noexcept
A const_reverse_iterator set to 1 before the end of range.
void setStart(const IntType i) noexcept
Set the start position, no checks.
void clear() noexcept
Reset to zero start and zero size.
bool found(const IntType value) const noexcept
True if the (global) value is located within the range.
const_reverse_iterator rend() const noexcept
A const_reverse_iterator set to 1 before the begin of range.
constexpr bool operator==(const const_iterator &iter) const noexcept
Test for equality of values.
Random-access reverse input iterator with const access.
constexpr IntType operator[](const IntType i) const noexcept
Offset dereference, without bounds checking.
constexpr IntType operator*() const noexcept
Return the value.
const_iterator cend() const noexcept
A const_iterator set to 1 beyond the end of the range.
void resize(const IntType n) noexcept
Change the size, no checks. Identical to setSize()
IntType size() const noexcept
The size of the range.
bool operator()(const IntType value) const noexcept
True if the global value is located within the range.
const_iterator & operator++() noexcept
Prefix increment.
IntType operator-=(const IntType n) noexcept
Decrease the size by n, but never below 0.
IntType end_value() const noexcept
The value 1 beyond the end of the range.
const_iterator & operator--() noexcept
Prefix decrement.
const_reverse_iterator crend() const noexcept
A const_reverse_iterator set to 1 before the begin of range.
bool empty() const noexcept
True if range is empty (zero-sized)
const_reverse_iterator & operator+=(const IntType n) noexcept
Arbitrary increment.
constexpr IntType operator[](const IntType n) const noexcept
Offset dereference operator.
constexpr bool operator<(const const_iterator &iter) const noexcept
Compare less-than.
const_iterator begin() const noexcept
A const_iterator set to the beginning of the range.
constexpr const_iterator(const IntType val=0) noexcept
Construct with specified value, or default construct.
constexpr const_reverse_iterator operator-(const IntType n) const noexcept
Return iterator with offset.
const_reverse_iterator & operator--() noexcept
Prefix decrement.
constexpr IntRange() noexcept
Default construct an empty range (0,0)
IntType operator+=(const IntType n) noexcept
Increase the size by n.
IntType first() const noexcept
The (inclusive) lower value of the range. Same as start()
IntType operator++() noexcept
Increase the size by 1.
const_iterator cbegin() const noexcept
A const_iterator set to the beginning of the range.
void reset(const IntType beg, const IntType len) noexcept
Reset start and length, no checks.
Random-access input iterator with const access.
const_iterator & operator+=(const IntType n) noexcept
Arbitrary increment.
const_reverse_iterator & operator-=(const IntType n) noexcept
Arbitrary decrement.
constexpr const_iterator operator-(const IntType n) const noexcept
Return iterator with offset.
constexpr bool operator==(const const_reverse_iterator &iter) const noexcept
Test for equality of values.
void clampSize() noexcept
Enforce non-negative size.
IntType operator--() noexcept
Decrease the size by 1, but never below 0.
void setSize(const IntType n) noexcept
Change the size, no checks. Identical to resize()
IntType start() const noexcept
The (inclusive) lower value of the range.
constexpr const_iterator operator+(const IntType n) const noexcept
Return iterator with offset.
constexpr bool operator<(const const_reverse_iterator &iter) const noexcept
Reverse compare less-than.
IntType last() const noexcept
The (inclusive) upper value of the range.
constexpr IntType operator[](const IntType n) const noexcept
Offset dereference operator.
const_reverse_iterator & operator++() noexcept
Prefix increment.