5#ifndef ROOT_RBinIndexRange
6#define ROOT_RBinIndexRange
21static RBinIndexRange
CreateBinIndexRange(RBinIndex begin, RBinIndex end, std::uint64_t nNormalBins);
93 if (
fIndex.IsUnderflow()) {
95 }
else if (
fIndex.IsOverflow()) {
97 }
else if (
fIndex.IsInvalid()) {
std::uint64_t fNNormalBins
The number of normal bins, after which iteration advances to RBinIndex::Overflow().
friend bool operator!=(const RIterator &lhs, const RIterator &rhs)
std::input_iterator_tag iterator_category
RBinIndex fIndex
The current bin index.
RIterator operator++(int)
std::ptrdiff_t difference_type
RBinIndex operator*() const
RIterator(RBinIndex index, std::uint64_t nNormalBins)
const RBinIndex * operator->() const
const RBinIndex * pointer
friend bool operator==(const RIterator &lhs, const RIterator &rhs)
RBinIndex GetBegin() const
RBinIndex fBegin
The begin of the range (inclusive).
RBinIndex fEnd
The end of the range (exclusive).
friend bool operator!=(const RBinIndexRange &lhs, const RBinIndexRange &rhs)
friend bool operator==(const RBinIndexRange &lhs, const RBinIndexRange &rhs)
RBinIndexRange()=default
Construct an invalid bin index range.
std::uint64_t fNNormalBins
The number of normal bins, after which iteration advances to RBinIndex::Overflow().
A bin index with special values for underflow and overflow bins.
static RBinIndex Overflow()
static RBinIndexRange CreateBinIndexRange(RBinIndex begin, RBinIndex end, std::uint64_t nNormalBins)
Internal function to create RBinIndexRange.
Namespace for ROOT features in testing.