13namespace Experimental {
30 static_assert(
sizeof(std::uint64_t) >=
sizeof(std::size_t),
"index type not large enough to address all bins");
62 std::uint64_t old =
fIndex;
131 if (
lhs.IsNormal() &&
rhs.IsNormal()) {
132 return lhs.fIndex <
rhs.fIndex;
140 if (
lhs.IsNormal() &&
rhs.IsNormal()) {
141 return lhs.fIndex >
rhs.fIndex;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
A bin index with special values for underflow and overflow bins.
RBinIndex & operator+=(std::uint64_t a)
RBinIndex operator+(std::uint64_t a) const
static constexpr std::uint64_t OverflowIndex
RBinIndex()=default
Construct an invalid bin index.
RBinIndex(std::uint64_t index)
Construct a bin index for a normal bin.
friend bool operator<=(RBinIndex lhs, RBinIndex rhs)
friend bool operator==(RBinIndex lhs, RBinIndex rhs)
RBinIndex operator--(int)
friend bool operator<(RBinIndex lhs, RBinIndex rhs)
static constexpr std::uint64_t InvalidIndex
RBinIndex operator++(int)
RBinIndex & operator-=(std::uint64_t a)
bool IsNormal() const
A bin index is normal iff it is not one of the special values.
static RBinIndex Overflow()
static constexpr std::uint64_t UnderflowIndex
friend bool operator>(RBinIndex lhs, RBinIndex rhs)
RBinIndex operator-(std::uint64_t a) const
std::uint64_t GetIndex() const
Return the index for a normal bin.
friend bool operator>=(RBinIndex lhs, RBinIndex rhs)
friend bool operator!=(RBinIndex lhs, RBinIndex rhs)
static RBinIndex Underflow()