MCRO
C++23 utilities for Unreal Engine.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
ConstexprXXH3.h File Reference
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  constexpr_xxh3
 

Concepts

concept  constexpr_xxh3::ByteType
 
concept  constexpr_xxh3::BytePtrType
 
concept  constexpr_xxh3::BytesType
 

Functions

constexpr uint32_t constexpr_xxh3::swap32 (uint32_t x) noexcept
 
template<typename T >
constexpr uint32_t constexpr_xxh3::readLE32 (const T *ptr) noexcept
 
constexpr uint64_t constexpr_xxh3::swap64 (uint64_t x) noexcept
 
template<typename T >
constexpr uint64_t constexpr_xxh3::readLE64 (const T *ptr) noexcept
 
constexpr void constexpr_xxh3::writeLE64 (uint8_t *dst, uint64_t v) noexcept
 
constexpr std::pair< uint64_t, uint64_t > constexpr_xxh3::mult64to128 (uint64_t lhs, uint64_t rhs) noexcept
 
constexpr uint64_t constexpr_xxh3::mul128_fold64 (uint64_t lhs, uint64_t rhs) noexcept
 
constexpr uint64_t constexpr_xxh3::XXH64_avalanche (uint64_t h) noexcept
 
constexpr uint64_t constexpr_xxh3::XXH3_avalanche (uint64_t h) noexcept
 
constexpr uint64_t constexpr_xxh3::rrmxmx (uint64_t h, uint64_t len) noexcept
 
template<typename T , typename S >
constexpr uint64_t constexpr_xxh3::mix16B (const T *input, const S *secret, uint64_t seed) noexcept
 
template<typename T , typename S >
constexpr void constexpr_xxh3::accumulate_512 (uint64_t *acc, const T *input, const S *secret) noexcept
 
template<typename T , typename S >
constexpr uint64_t constexpr_xxh3::hashLong_64b_internal (const T *input, size_t len, const S *secret, size_t secretSize) noexcept
 
template<typename T , typename S , typename HashLong >
constexpr uint64_t constexpr_xxh3::XXH3_64bits_internal (const T *input, size_t len, uint64_t seed, const S *secret, size_t secretLen, HashLong f_hashLong) noexcept
 
template<BytesType Bytes>
constexpr size_t constexpr_xxh3::bytes_size (const Bytes &bytes) noexcept
 
template<ByteType T, size_t N>
constexpr size_t constexpr_xxh3::bytes_size (T(&)[N]) noexcept
 
template<ByteType T>
consteval uint64_t constexpr_xxh3::XXH3_64bits_const (const T *input, size_t len) noexcept
 Basic interfaces.
 
template<ByteType T, ByteType S>
consteval uint64_t constexpr_xxh3::XXH3_64bits_withSecret_const (const T *input, size_t len, const S *secret, size_t secretSize) noexcept
 
template<ByteType T>
consteval uint64_t constexpr_xxh3::XXH3_64bits_withSeed_const (const T *input, size_t len, uint64_t seed) noexcept
 
template<BytesType Bytes>
consteval uint64_t constexpr_xxh3::XXH3_64bits_const (const Bytes &input) noexcept
 Convenient interfaces.
 
template<BytesType Bytes, BytesType Secret>
consteval uint64_t constexpr_xxh3::XXH3_64bits_withSecret_const (const Bytes &input, const Secret &secret) noexcept
 
template<BytesType Bytes>
consteval uint64_t constexpr_xxh3::XXH3_64bits_withSeed_const (const Bytes &input, uint64_t seed) noexcept
 

Variables

constexpr uint32_t constexpr_xxh3::PRIME32_1 = 0x9E3779B1U
 
constexpr uint32_t constexpr_xxh3::PRIME32_2 = 0x85EBCA77U
 
constexpr uint32_t constexpr_xxh3::PRIME32_3 = 0xC2B2AE3DU
 
constexpr uint64_t constexpr_xxh3::PRIME64_1 = 0x9E3779B185EBCA87ULL
 
constexpr uint64_t constexpr_xxh3::PRIME64_2 = 0xC2B2AE3D27D4EB4FULL
 
constexpr uint64_t constexpr_xxh3::PRIME64_3 = 0x165667B19E3779F9ULL
 
constexpr uint64_t constexpr_xxh3::PRIME64_4 = 0x85EBCA77C2B2AE63ULL
 
constexpr uint64_t constexpr_xxh3::PRIME64_5 = 0x27D4EB2F165667C5ULL
 
constexpr size_t constexpr_xxh3::SECRET_DEFAULT_SIZE = 192
 
constexpr size_t constexpr_xxh3::SECRET_SIZE_MIN = 136
 
constexpr uint8_t constexpr_xxh3::kSecret [SECRET_DEFAULT_SIZE]
 
constexpr size_t constexpr_xxh3::STRIPE_LEN = 64
 
constexpr size_t constexpr_xxh3::SECRET_CONSUME_RATE = 8
 
constexpr size_t constexpr_xxh3::ACC_NB = STRIPE_LEN / sizeof(uint64_t)
 

Detailed Description

Author
Chys admin.nosp@m.@chy.nosp@m.s.inf.nosp@m.o <chys87@github>; Yann Collet
Date
2025

Definition in file ConstexprXXH3.h.