Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FHashBuilder Class Reference

#include <HashBuilder.h>

Public Member Functions

 FHashBuilder (uint32 InHash=0)
 
void AppendRaw (const void *Data, int64 Num)
 
template<typename T >
TEnableIf< TIsPODType< T >::Value, FHashBuilder & >::Type AppendRaw (const T &InData)
 
template<typename T >
TEnableIf<!TModels< CGetTypeHashable, T >::Value, FHashBuilder & >::Type Append (const T &InData)
 
template<typename T >
TEnableIf< TModels< CGetTypeHashable, T >::Value, FHashBuilder & >::Type Append (const T &InData)
 
template<typename T >
FHashBuilderAppend (const TArray< T > &InArray)
 
template<typename T >
FHashBuilderAppend (const TSet< T > &InArray)
 
template<typename T >
FHashBuilderoperator<< (const T &InData)
 
uint32 GetHash () const
 

Private Attributes

uint32 Hash
 

Detailed Description

Class for computing a hash of multiple types, going through GetTypeHash when the type implements it, and fallbacks to CRC32 when the type doesn't.

Note: this hash builder should be used for transient hashes, as some types implements run-dependent hash computations, such as GetTypeHash(FName).

Definition at line 17 of file HashBuilder.h.

Constructor & Destructor Documentation

◆ FHashBuilder()

FHashBuilder::FHashBuilder ( uint32 InHash = 0)
inlineexplicit

Definition at line 20 of file HashBuilder.h.

Member Function Documentation

◆ Append() [1/4]

template<typename T >
TEnableIf<!TModels< CGetTypeHashable, T >::Value, FHashBuilder & >::Type FHashBuilder::Append ( const T & InData)
inline

Definition at line 37 of file HashBuilder.h.

◆ Append() [2/4]

template<typename T >
TEnableIf< TModels< CGetTypeHashable, T >::Value, FHashBuilder & >::Type FHashBuilder::Append ( const T & InData)
inline

Definition at line 43 of file HashBuilder.h.

◆ Append() [3/4]

template<typename T >
FHashBuilder & FHashBuilder::Append ( const TArray< T > & InArray)
inline

Definition at line 50 of file HashBuilder.h.

◆ Append() [4/4]

template<typename T >
FHashBuilder & FHashBuilder::Append ( const TSet< T > & InArray)
inline

Definition at line 60 of file HashBuilder.h.

◆ AppendRaw() [1/2]

template<typename T >
TEnableIf< TIsPODType< T >::Value, FHashBuilder & >::Type FHashBuilder::AppendRaw ( const T & InData)
inline

Definition at line 30 of file HashBuilder.h.

◆ AppendRaw() [2/2]

void FHashBuilder::AppendRaw ( const void * Data,
int64 Num )
inline

Definition at line 24 of file HashBuilder.h.

◆ GetHash()

uint32 FHashBuilder::GetHash ( ) const
inline

Definition at line 75 of file HashBuilder.h.

◆ operator<<()

template<typename T >
FHashBuilder & FHashBuilder::operator<< ( const T & InData)
inline

Definition at line 70 of file HashBuilder.h.

Member Data Documentation

◆ Hash

uint32 FHashBuilder::Hash
private

Definition at line 81 of file HashBuilder.h.


The documentation for this class was generated from the following file: