13namespace Experimental {
30 static_assert(
sizeof(std::uint64_t) >=
sizeof(std::size_t),
"index type not large enough to address all bins");
32 static_assert(
sizeof(std::uint64_t) >=
sizeof(
unsigned long long),
33 "index type not large enough to store any standard integer");
91 std::uint64_t old =
fIndex;
160 if (
lhs.IsNormal() &&
rhs.IsNormal()) {
161 return lhs.fIndex <
rhs.fIndex;
169 if (
lhs.IsNormal() &&
rhs.IsNormal()) {
170 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
RBinIndex()=default
Construct an invalid bin index.
RBinIndex(unsigned long index)
Construct a bin index for a normal bin.
RBinIndex(unsigned int index)
Construct a bin index for a normal bin.
static constexpr auto kInvalidIndex
friend bool operator<=(RBinIndex lhs, RBinIndex rhs)
friend bool operator==(RBinIndex lhs, RBinIndex rhs)
static constexpr auto kUnderflowIndex
RBinIndex operator--(int)
friend bool operator<(RBinIndex lhs, RBinIndex rhs)
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 auto kOverflowIndex
RBinIndex(long long index)
Construct a bin index for a normal bin.
friend bool operator>(RBinIndex lhs, RBinIndex rhs)
RBinIndex operator-(std::uint64_t a) const
RBinIndex(unsigned long long index)
Construct a bin index for a normal bin.
std::uint64_t GetIndex() const
Return the index for a normal bin.
RBinIndex(long index)
Construct a bin index for a normal bin.
friend bool operator>=(RBinIndex lhs, RBinIndex rhs)
friend bool operator!=(RBinIndex lhs, RBinIndex rhs)
static RBinIndex Underflow()
RBinIndex(int index)
Construct a bin index for a normal bin.