30template<
class IntType>
38template<
class IntType>
49template<
class IntType>
63template<
class IntType>
71template<
class IntType>
72inline constexpr IntType
80template<
class IntType>
81inline constexpr IntType
89template<
class IntType>
99template<
class IntType>
110template<
class IntType>
120template<
class IntType>
131template<
class IntType>
141template<
class IntType>
151template<
class IntType>
156 return const_iterator(value_ +
n);
160template<
class IntType>
169template<
class IntType>
170inline constexpr IntType
174 return (value_ - iter.value_);
178template<
class IntType>
183 return (value_ == iter.value_);
187template<
class IntType>
190operator<(
const const_iterator& iter)
const noexcept
192 return (value_ < iter.value_);
198template<
class IntType>
206template<
class IntType>
207inline constexpr IntType
215template<
class IntType>
216inline constexpr IntType
224template<
class IntType>
234template<
class IntType>
239 const_reverse_iterator old(*
this);
245template<
class IntType>
255template<
class IntType>
260 const_reverse_iterator old(*
this);
266template<
class IntType>
276template<
class IntType>
286template<
class IntType>
295template<
class IntType>
304template<
class IntType>
305inline constexpr IntType
307operator-(
const const_reverse_iterator& iter)
const noexcept
309 return (iter.value_ - value_);
313template<
class IntType>
318 return (value_ == iter.value_);
322template<
class IntType>
325operator<(
const const_reverse_iterator& iter)
const noexcept
327 return (value_ > iter.value_);
333template<
class IntType>
337 return const_iterator(start_ + ((i < 0 || i > size_) ? size_ : i));
341template<
class IntType>
349template<
class IntType>
353 return const_iterator(start_);
357template<
class IntType>
361 return const_iterator(start_ + size_);
365template<
class IntType>
373template<
class IntType>
381template<
class IntType>
389template<
class IntType>
397template<
class IntType>
407template<
class IntType>
414template<
class IntType>
421template<
class IntType>
428template<
class IntType>
435template<
class IntType>
442template<
class IntType>
449template<
class IntType>
452 return (start_ + (size_-1));
456template<
class IntType>
463template<
class IntType>
466 return (start_ + size_);
470template<
class IntType>
477template<
class IntType>
489template<
class IntType>
496template<
class IntType>
503template<
class IntType>
510template<
class IntType>
513 if (size_ < 0) size_ = 0;
517template<
class IntType>
523 return (size_ && start_ <= value && (value - start_) < size_);
529template<
class IntType>
537template<
class IntType>
545template<
class IntType>
553template<
class IntType>
561template<
class IntType>
571template<
class IntType>
575 const IntType old(size_);
582template<
class IntType>
591template<
class IntType>
virtual bool resize()
Resize the ODE solver.
Random-access input iterator with const access.
const_iterator & operator++() noexcept
Prefix increment.
constexpr bool operator<(const const_iterator &iter) const noexcept
Compare less-than.
const_iterator & operator--() noexcept
Prefix decrement.
const_iterator & operator+=(const IntType n) noexcept
Arbitrary increment.
constexpr IntType operator[](const IntType n) const noexcept
Offset dereference operator.
constexpr IntType operator*() const noexcept
Return the value.
const_iterator & operator-=(const IntType n) noexcept
Arbitrary decrement.
Random-access reverse input iterator with const access.
const_reverse_iterator & operator++() noexcept
Prefix increment.
const_reverse_iterator & operator--() noexcept
Prefix decrement.
const_reverse_iterator & operator+=(const IntType n) noexcept
Arbitrary increment.
constexpr IntType operator[](const IntType n) const noexcept
Offset dereference operator.
const_reverse_iterator & operator-=(const IntType n) noexcept
Arbitrary decrement.
constexpr IntType operator*() const noexcept
Return the value.
constexpr bool operator<(const const_reverse_iterator &iter) const noexcept
Reverse compare less-than.
An interval of (signed) integers defined by a start and a size.
void clear() noexcept
Reset to zero start and zero size.
const_iterator end() const noexcept
A const_iterator set to 1 beyond the end of the range.
IntType operator++() noexcept
Increase the size by 1.
IntType operator--() noexcept
Decrease the size by 1, but never below 0.
IntType last() const noexcept
The (inclusive) upper value of the range.
const_iterator begin() const noexcept
A const_iterator set to the beginning of the range.
constexpr IntType operator[](const IntType i) const noexcept
Offset dereference, without bounds checking.
IntType rend_value() const noexcept
The value 1 before the start of the range.
bool empty() const noexcept
True if range is empty (zero-sized)
const_reverse_iterator rend() const noexcept
A const_reverse_iterator set to 1 before the begin of range.
IntType start() const noexcept
The (inclusive) lower value of the range.
const_reverse_iterator crbegin() const noexcept
A const_reverse_iterator set to 1 before the end of range.
const_iterator at(const IntType i) const
IntType operator+=(const IntType n) noexcept
Increase the size by n.
IntType size() const noexcept
The size of the range.
void clampSize() noexcept
Enforce non-negative size.
const_reverse_iterator crend() const noexcept
A const_reverse_iterator set to 1 before the begin of range.
void setSize(const IntType n) noexcept
Change the size, no checks. Identical to resize()
const_iterator cbegin() const noexcept
A const_iterator set to the beginning of the range.
const_reverse_iterator rbegin() const noexcept
A const_reverse_iterator set to 1 before the end of range.
const_iterator cend() const noexcept
A const_iterator set to 1 beyond the end of the range.
IntType first() const noexcept
The (inclusive) lower value of the range. Same as start()
constexpr IntRange() noexcept
Default construct an empty range (0,0)
IntType end_value() const noexcept
The value 1 beyond the end of the range.
IntType operator-=(const IntType n) noexcept
Decrease the size by n, but never below 0.
void setStart(const IntType i) noexcept
Set the start position, no checks.
friend complex operator+(const complex &c1, const complex &c2)
Ostream & operator()() const
Output stream (master only).
void reset()
Reset to defaults.
friend bool operator==(const refineCell &rc1, const refineCell &rc2)
zeroField operator-() const noexcept