50template<
class T>
class MinMax;
65 using IntRange<label>::const_iterator;
68 using IntRange<label>::const_reverse_iterator;
98 const
bool adjustStart
145 const
bool adjustStart
An interval of (signed) integers defined by a start and a size.
const_iterator end() const noexcept
A const_iterator set to 1 beyond the end of the range.
label & start() noexcept
Non-const access to start of the range.
label size() const noexcept
The size of the range.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A min/max value pair with additional methods. In addition to conveniently storing values,...
A range or interval of labels defined by a start and a size.
constexpr labelRange() noexcept
Default construct an empty range (0,0)
void adjust() noexcept
Adjust the start to avoid negative indices.
bool overlaps(const labelRange &range, bool touches=false) const
Return true if the ranges overlap.
List< label > labels() const
Return list of labels corresponding to the range.
label max() const noexcept
The (inclusive) upper value of the range - same as last()
bool valid() const noexcept
Deprecated(2020-09) True if range is non-empty.
label before() const noexcept
The value before the start of the range.
label min() const noexcept
The (inclusive) lower value of the range - same as first(), start()
labelRange subset(const labelRange &range) const
Calculate the intersection of the range with another.
labelRange subset0(const label size) const
Calculate the intersection with the given 0/size range.
static int debug
Debugging.
label after() const noexcept
The value after the last element in the range.
labelRange join(const labelRange &range) const
Return a joined range, squashing any gaps in between.
void reset(const label beg, const label end, const bool adjustStart) noexcept
Reset start and length, enforces non-negative size.
Conversion/extraction to labelRange operation (functor).