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

#include <xxhash.h>

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

uint64 Hash {}
 

Friends

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

Detailed Description

A 64-bit hash from XXH3.

Member Function Documentation

◆ FromByteArray()

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

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

◆ HashBuffer() [1/3]

FXxHash64 FXxHash64::HashBuffer ( const FCompositeBuffer Buffer)
static

◆ HashBuffer() [2/3]

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

◆ HashBuffer() [3/3]

FXxHash64 FXxHash64::HashBuffer ( FMemoryView  View)
static

◆ HashBufferChunked() [1/2]

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

◆ HashBufferChunked() [2/2]

FXxHash64 FXxHash64::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 FXxHash64::IsZero ( ) const
inline

◆ operator!=()

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

◆ operator<()

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

◆ operator==()

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

◆ ToByteArray()

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

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

Friends And Related Symbol Documentation

◆ GetTypeHash

uint32 GetTypeHash ( const FXxHash64 InHash)
friend

◆ operator<< [1/2]

FArchive & operator<< ( FArchive Ar,
FXxHash64 InHash 
)
friend

◆ operator<< [2/2]

template<typename CharType >
TStringBuilderBase< CharType > & operator<< ( TStringBuilderBase< CharType > &  Builder,
const FXxHash64 InHash 
)
friend

Member Data Documentation

◆ Hash

uint64 FXxHash64::Hash {}

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: