32 return align > 0 && (align & (align - 1)) == 0;
41 return (
value + align - 1) & ~(align - 1);
53 constexpr std::size_t
maxBits =
sizeof(T) * 8;
54 static_assert(std::is_integral_v<T> && (
maxBits == 32 ||
maxBits == 64));
60 unsigned long idx = 0;
70 std::uint32_t low = (
x & 0xFFFF'FFFF);
71 std::uint32_t high = (
x >> 32) & 0xFFFF'FFFF;
80 return static_cast<std::size_t
>(idx);
89 return static_cast<std::size_t
>(
maxBits - 1 - idx);
108 constexpr std::size_t
maxBits =
sizeof(T) * 8;
109 static_assert(std::is_integral_v<T> && (
maxBits == 32 ||
maxBits == 64));
115 unsigned long idx = 0;
125 std::uint32_t low = (
x & 0xFFFF'FFFF);
126 std::uint32_t high = (
x >> 32) & 0xFFFF'FFFF;
141 return static_cast<std::size_t
>(idx);
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 value
std::size_t LeadingZeroes(T x)
Given an integer x, returns the number of leading 0-bits starting at the most significant bit positio...
constexpr T AlignUp(T value, T align) noexcept
Round value up to the next multiple of align.
std::size_t TrailingZeroes(T x)
Given an integer x, returns the number of trailing 0-bits starting at the least significant bit posit...
constexpr bool IsValidAlignment(std::size_t align) noexcept
Return true if align is a valid C++ alignment value: strictly positive and a power of two.