template<typename T>
static
constexpr Internal::Int32Or64<T, 0>::Type
asInt(
const T& x)
noexcepttemplate<typename T>
static
constexpr Internal::Int32Or64<T, 1>::Type
asUInt(
const T& x)
noexcepttemplate<typename T>
static
constexpr Internal::Int32Or64<T>::Type
asNormalized(
const T& x)
noexcepttemplate<typename T>
static
constexpr Internal::StdInt<
sizeof(T), std::is_unsigned_v<T> >::Type
asStdInt(
const T& x)
noexcepttemplate<typename Dst, typename Src, typename Offset> static Dst* offsetPtr(Src* ptr, const Offset& n) noexcept
template<typename Dst, typename Src, typename Offset> static const Dst* offsetPtr(const Src* ptr, const Offset& n) noexcept
template<typename... Args> static constexpr bool bool_and(Args&&... args) noexcept
template<typename... Args> static constexpr bool bool_or(Args&&... args) noexcept
template<typename Dst, typename Src>
static Dst
bitCast(
const Src& x)
noexceptstatic constexpr uint32_t bitSizeOf() noexcept
template<typename T>
static
constexpr T
neg(
const T& x)
noexceptstatic constexpr T allOnes() noexcept
template<typename X, typename Y>
static
constexpr X
shl(
const X& x,
const Y& y)
noexcepttemplate<typename X, typename Y>
static
constexpr X
shr(
const X& x,
const Y& y)
noexcepttemplate<typename X, typename Y>
static
constexpr X
sar(
const X& x,
const Y& y)
noexcepttemplate<typename X, typename Y> static constexpr X ror(const X& x, const Y& y) noexcept
template<typename X, typename Y>
static
constexpr X
or_shr(
const X& x,
const Y& y)
noexcepttemplate<typename T>
static
constexpr T
blsi(T x)
noexcepttemplate<typename T, typename IndexT>
static
constexpr bool bitTest(T x, IndexT n)
noexceptstatic constexpr bool isLsbMask(const T& value) noexcept
static constexpr bool isConsecutiveMask(const T& value) noexcept
template<typename T, typename CountT>
static
constexpr T
lsbMask(
const CountT& n)
noexcepttemplate<typename T, typename CountT>
static
constexpr T
msbMask(
const CountT& n)
noexcepttemplate<typename Index>
static
constexpr uint32_t bitMask(
const Index& x)
noexcepttemplate<typename Index, typename... Args>
static
constexpr uint32_t bitMask(
const Index& x, Args... args)
noexcepttemplate<typename DstT, typename SrcT>
template<typename A, typename B>
static
constexpr bool test(A a, B b)
noexceptstatic constexpr T fillTrailingBits(const T& x) noexcept
template<typename T>
static
uint32_t clz(T x)
noexcepttemplate<typename T>
static
uint32_t ctz(T x)
noexcepttemplate<typename T>
static
uint32_t popcnt(T x)
noexcepttemplate<typename T>
template<typename T>
static constexpr T min(const T& a, const T& b) noexcept
template<typename T, typename... Args> static constexpr T min(const T& a, const T& b, Args&&... args) noexcept
static constexpr T max(const T& a, const T& b) noexcept
template<typename T, typename... Args> static constexpr T max(const T& a, const T& b, Args&&... args) noexcept
static int64_t immediateFromT(const T& x) noexcept
static T immediateToT(int64_t x) noexcept
static T addOverflow(const T& x, const T& y, FastUInt8* of) noexcept
static T subOverflow(const T& x, const T& y, FastUInt8* of) noexcept
static T mulOverflow(const T& x, const T& y, FastUInt8* of) noexcept
static T maddOverflow(const T& x, const T& y, const T& addend, FastUInt8* of) noexcept
template<typename T>
template<typename T, typename N>
template<typename T>
template<typename T, typename N>
template<typename X, typename Y> static constexpr bool isAligned(X base, Y alignment) noexcept
template<typename X, typename Y> static constexpr X alignUp(X x, Y alignment) noexcept
static constexpr T alignUpPowerOf2(T x) noexcept
template<typename X, typename Y>
static
constexpr Internal::StdInt<
sizeof(X), 1>::Type
alignUpDiff(X base, Y alignment)
noexcepttemplate<typename X, typename Y> static constexpr X alignDown(X x, Y alignment) noexcept
template<typename X, typename Y>
template<typename T>
static
constexpr bool isBetween(
const T& x,
const T& a,
const T& b)
noexcepttemplate<typename T>
static
constexpr bool isInt4(T x)
noexcepttemplate<typename T>
static
constexpr bool isInt7(T x)
noexcepttemplate<typename T>
static
constexpr bool isInt8(T x)
noexcepttemplate<typename T>
static
constexpr bool isInt9(T x)
noexcepttemplate<typename T>
static
constexpr bool isInt10(T x)
noexcepttemplate<typename T>
static
constexpr bool isInt16(T x)
noexcepttemplate<typename T>
static
constexpr bool isInt32(T x)
noexcepttemplate<typename T>
static
constexpr bool isUInt4(T x)
noexcepttemplate<typename T>
static
constexpr bool isUInt8(T x)
noexcepttemplate<typename T>
static
constexpr bool isUInt12(T x)
noexcepttemplate<typename T>
static
constexpr bool isUInt16(T x)
noexcepttemplate<typename T>
static
constexpr bool isUInt32(T x)
noexcepttemplate<typename T>
static
bool isEncodableOffset32(
int32_t offset,
uint32_t nBits)
noexceptstatic
bool isEncodableOffset64(
int64_t offset,
uint32_t nBits)
noexceptstatic
uint16_t byteswap16(
uint16_t x)
noexceptstatic
uint32_t byteswap32(
uint32_t x)
noexceptstatic
uint64_t byteswap64(
uint64_t x)
noexceptstatic T byteswap(T x) noexcept
static
constexpr uint32_t bytepack32_4x8(
uint32_t a,
uint32_t b,
uint32_t c,
uint32_t d)
noexceptstatic constexpr uint32_t unpackU32At0(T x) noexcept
static constexpr uint32_t unpackU32At1(T x) noexcept
static
uint32_t byteShiftOfDWordStruct(
uint32_t index)
noexceptstatic constexpr T asciiToLower(T c) noexcept
static constexpr T asciiToUpper(T c) noexcept
static
size_t strLen(
const char* s,
size_t maxSize)
noexceptstatic
constexpr uint32_t hashRound(
uint32_t hash,
uint32_t c)
noexceptstatic
uint32_t hashString(
const char* data,
size_t size)
noexceptstatic
const char*
findPackedString(
const char* p,
uint32_t id)
noexceptstatic
int compareStringViews(
const char* aData,
size_t aSize,
const char* bData,
size_t bSize)
noexceptstatic T loada(const void* p) noexcept
static T loadu(const void* p) noexcept
static T loada(const void* p) noexcept
static T loadu(const void* p) noexcept
static
int8_t load_i8(
const void* p)
noexceptstatic
uint8_t load_u8(
const void* p)
noexceptstatic
int16_t loada_i16(
const void* p)
noexceptstatic
int16_t loadu_i16(
const void* p)
noexceptstatic
uint16_t loada_u16(
const void* p)
noexceptstatic
uint16_t loadu_u16(
const void* p)
noexceptstatic
int16_t loada_i16_le(
const void* p)
noexceptstatic
int16_t loadu_i16_le(
const void* p)
noexceptstatic
uint16_t loada_u16_le(
const void* p)
noexceptstatic
uint16_t loadu_u16_le(
const void* p)
noexceptstatic
int16_t loada_i16_be(
const void* p)
noexceptstatic
int16_t loadu_i16_be(
const void* p)
noexceptstatic
uint16_t loada_u16_be(
const void* p)
noexceptstatic
uint16_t loadu_u16_be(
const void* p)
noexceptstatic
int32_t loada_i32(
const void* p)
noexceptstatic
int32_t loadu_i32(
const void* p)
noexceptstatic
uint32_t loada_u32(
const void* p)
noexceptstatic
uint32_t loadu_u32(
const void* p)
noexceptstatic
int32_t loada_i32_le(
const void* p)
noexceptstatic
int32_t loadu_i32_le(
const void* p)
noexceptstatic
uint32_t loada_u32_le(
const void* p)
noexceptstatic
uint32_t loadu_u32_le(
const void* p)
noexceptstatic
int32_t loada_i32_be(
const void* p)
noexceptstatic
int32_t loadu_i32_be(
const void* p)
noexceptstatic
uint32_t loada_u32_be(
const void* p)
noexceptstatic
uint32_t loadu_u32_be(
const void* p)
noexceptstatic
int64_t loada_i64(
const void* p)
noexceptstatic
int64_t loadu_i64(
const void* p)
noexceptstatic
uint64_t loada_u64(
const void* p)
noexceptstatic
uint64_t loadu_u64(
const void* p)
noexceptstatic
int64_t loada_i64_le(
const void* p)
noexceptstatic
int64_t loadu_i64_le(
const void* p)
noexceptstatic
uint64_t loada_u64_le(
const void* p)
noexceptstatic
uint64_t loadu_u64_le(
const void* p)
noexceptstatic
int64_t loada_i64_be(
const void* p)
noexceptstatic
int64_t loadu_i64_be(
const void* p)
noexceptstatic
uint64_t loada_u64_be(
const void* p)
noexceptstatic
uint64_t loadu_u64_be(
const void* p)
noexceptstatic void storea(void* p, T x) noexcept
static void storeu(void* p, T x) noexcept
static void storea(void* p, T x) noexcept
static void storeu(void* p, T x) noexcept
static
void store_i8(
void* p,
int8_t x)
noexceptstatic
void store_u8(
void* p,
uint8_t x)
noexceptstatic
void storea_i16(
void* p,
int16_t x)
noexceptstatic
void storeu_i16(
void* p,
int16_t x)
noexceptstatic
void storea_u16(
void* p,
uint16_t x)
noexceptstatic
void storeu_u16(
void* p,
uint16_t x)
noexceptstatic
void storea_i16_le(
void* p,
int16_t x)
noexceptstatic
void storeu_i16_le(
void* p,
int16_t x)
noexceptstatic
void storea_u16_le(
void* p,
uint16_t x)
noexceptstatic
void storeu_u16_le(
void* p,
uint16_t x)
noexceptstatic
void storea_i16_be(
void* p,
int16_t x)
noexceptstatic
void storeu_i16_be(
void* p,
int16_t x)
noexceptstatic
void storea_u16_be(
void* p,
uint16_t x)
noexceptstatic
void storeu_u16_be(
void* p,
uint16_t x)
noexceptstatic
void storea_i32(
void* p,
int32_t x)
noexceptstatic
void storeu_i32(
void* p,
int32_t x)
noexceptstatic
void storea_u32(
void* p,
uint32_t x)
noexceptstatic
void storeu_u32(
void* p,
uint32_t x)
noexceptstatic
void storea_i32_le(
void* p,
int32_t x)
noexceptstatic
void storeu_i32_le(
void* p,
int32_t x)
noexceptstatic
void storea_u32_le(
void* p,
uint32_t x)
noexceptstatic
void storeu_u32_le(
void* p,
uint32_t x)
noexceptstatic
void storea_i32_be(
void* p,
int32_t x)
noexceptstatic
void storeu_i32_be(
void* p,
int32_t x)
noexceptstatic
void storea_u32_be(
void* p,
uint32_t x)
noexceptstatic
void storeu_u32_be(
void* p,
uint32_t x)
noexceptstatic
void storea_i64(
void* p,
int64_t x)
noexceptstatic
void storeu_i64(
void* p,
int64_t x)
noexceptstatic
void storea_u64(
void* p,
uint64_t x)
noexceptstatic
void storeu_u64(
void* p,
uint64_t x)
noexceptstatic
void storea_i64_le(
void* p,
int64_t x)
noexceptstatic
void storeu_i64_le(
void* p,
int64_t x)
noexceptstatic
void storea_u64_le(
void* p,
uint64_t x)
noexceptstatic
void storeu_u64_le(
void* p,
uint64_t x)
noexceptstatic
void storea_i64_be(
void* p,
int64_t x)
noexceptstatic
void storeu_i64_be(
void* p,
int64_t x)
noexceptstatic
void storea_u64_be(
void* p,
uint64_t x)
noexceptstatic
void storeu_u64_be(
void* p,
uint64_t x)
noexcepttemplate<typename T>
template<typename T>
template<typename T>
template<typename T>
static
void bitVectorFill(T* buf,
size_t index,
size_t count)
noexcepttemplate<typename T>
static
void bitVectorClear(T* buf,
size_t index,
size_t count)
noexceptstatic size_t bitVectorIndexOf(T* buf, size_t start, bool value) noexcept
template<typename T, typename CompareT = Compare<SortOrder::kAscending>>
static
void iSort(T* base,
size_t size,
const CompareT& cmp = CompareT())
noexcepttemplate<typename T, class CompareT = Compare<SortOrder::kAscending>>
static
void qSort(T* base,
size_t size,
const CompareT& cmp = CompareT())
noexcept