UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FXxHash128 Struct Reference

#include <xxhash.h>

Public Member Functions

void ToByteArray (uint8(&Bytes)[sizeof(uint64[2])]) const
 
bool operator== (const FXxHash128 &B) const
 
bool operator!= (const FXxHash128 &B) const
 
bool operator< (const FXxHash128 &B) const
 
bool IsZero () const
 

Static Public Member Functions

static CORE_API FXxHash128 HashBuffer (FMemoryView View)
 
static CORE_API FXxHash128 HashBuffer (const void *Data, uint64 Size)
 
static CORE_API FXxHash128 HashBuffer (const FCompositeBuffer &Buffer)
 
static CORE_API FXxHash128 HashBufferChunked (FMemoryView View, uint64 ChunkSize)
 
static CORE_API FXxHash128 HashBufferChunked (const void *Data, uint64 Size, uint64 ChunkSize)
 
static FXxHash128 FromByteArray (const uint8(&Bytes)[sizeof(uint64[2])])
 

Public Attributes

uint64 HashLow {}
 
uint64 HashHigh {}
 

Friends

uint32 GetTypeHash (const FXxHash128 &Hash)
 
FArchiveoperator<< (FArchive &Ar, FXxHash128 &Hash)
 
template<typename CharType >
TStringBuilderBase< CharType > & operator<< (TStringBuilderBase< CharType > &Builder, const FXxHash128 &Hash)
 

Detailed Description

A 128-bit hash from XXH128.

Member Function Documentation

◆ FromByteArray()

static FXxHash128 FXxHash128::FromByteArray ( const uint8(&)  Bytes[sizeof(uint64[2])
inlinestatic

Load the hash from its canonical (big-endian) representation.

◆ HashBuffer() [1/3]

FXxHash128 FXxHash128::HashBuffer ( const FCompositeBuffer Buffer)
static

◆ HashBuffer() [2/3]

FXxHash128 FXxHash128::HashBuffer ( const void Data,
uint64  Size 
)
static

◆ HashBuffer() [3/3]

FXxHash128 FXxHash128::HashBuffer ( FMemoryView  View)
static

◆ HashBufferChunked() [1/2]

FXxHash128 FXxHash128::HashBufferChunked ( const void Data,
uint64  Size,
uint64  ChunkSize 
)
static

◆ HashBufferChunked() [2/2]

FXxHash128 FXxHash128::HashBufferChunked ( FMemoryView  View,
uint64  ChunkSize 
)
static

Hash the buffer in parallel in independent chunks, and hash those hashes.

Use a ChunkSize large enough to cover task overhead, e.g., 256+ KiB. Hashing the same buffer with different chunk sizes produces a different output hash.

◆ IsZero()

bool FXxHash128::IsZero ( ) const
inline

◆ operator!=()

bool FXxHash128::operator!= ( const FXxHash128 B) const
inline

◆ operator<()

bool FXxHash128::operator< ( const FXxHash128 B) const
inline

◆ operator==()

bool FXxHash128::operator== ( const FXxHash128 B) const
inline

◆ ToByteArray()

void FXxHash128::ToByteArray ( uint8(&)  Bytes[sizeof(uint64[2]) const
inline

Store the hash to its canonical (big-endian) representation.

Friends And Related Symbol Documentation

◆ GetTypeHash

uint32 GetTypeHash ( const FXxHash128 Hash)
friend

◆ operator<< [1/2]

FArchive & operator<< ( FArchive Ar,
FXxHash128 Hash 
)
friend

◆ operator<< [2/2]

template<typename CharType >
TStringBuilderBase< CharType > & operator<< ( TStringBuilderBase< CharType > &  Builder,
const FXxHash128 Hash 
)
friend

Member Data Documentation

◆ HashHigh

uint64 FXxHash128::HashHigh {}

The high 64 bits of the hash in its native representation.

Use the canonical representation from ToByteArray to serialize or display the hash.

◆ HashLow

uint64 FXxHash128::HashLow {}

The low 64 bits of the hash in its native representation.

Use the canonical representation from ToByteArray to serialize or display the hash.


The documentation for this struct was generated from the following files: