Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
TypeHash.h File Reference
#include "CoreTypes.h"
#include "Templates/IsEnum.h"
#include "Misc/Crc.h"
#include <stdint.h>
#include <type_traits>
+ Include dependency graph for TypeHash.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  UE
 
namespace  UE::Private
 

Functions

FORCEINLINE uint32 UE::Private::MurmurFinalize32 (uint32 Hash)
 
uint32 HashCombine (uint32 A, uint32 C)
 
uint32 HashCombineFast (uint32 A, uint32 B)
 
uint32 PointerHash (const void *Key)
 
uint32 PointerHash (const void *Key, uint32 C)
 
template<typename ScalarType , std::enable_if_t< std::is_scalar_v< ScalarType > > * = nullptr>
uint32 GetTypeHash (ScalarType Value)
 
template<typename T >
FORCEINLINE uint32 GetTypeHashHelper (const T &V)
 

Function Documentation

◆ GetTypeHash()

template<typename ScalarType , std::enable_if_t< std::is_scalar_v< ScalarType > > * = nullptr>
uint32 GetTypeHash ( ScalarType Value)
inline

Definition at line 96 of file TypeHash.h.

◆ GetTypeHashHelper()

template<typename T >
FORCEINLINE uint32 GetTypeHashHelper ( const T & V)

Definition at line 157 of file TypeHash.h.

◆ HashCombine()

uint32 HashCombine ( uint32 A,
uint32 C )
inline

Combines two hash values to get a third. Note - this function is not commutative.

This function cannot change for backward compatibility reasons. You may want to choose HashCombineFast for a better in-memory hash combining function.

Definition at line 36 of file TypeHash.h.

+ Here is the caller graph for this function:

◆ HashCombineFast()

uint32 HashCombineFast ( uint32 A,
uint32 B )
inline

Combines two hash values to get a third. Note - this function is not commutative.

WARNING! This function is subject to change and should only be used for creating combined hash values which don't leave the running process, e.g. GetTypeHash() overloads.

Definition at line 62 of file TypeHash.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PointerHash() [1/2]

uint32 PointerHash ( const void * Key)
inline

Definition at line 69 of file TypeHash.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PointerHash() [2/2]

uint32 PointerHash ( const void * Key,
uint32 C )
inline

Definition at line 77 of file TypeHash.h.

+ Here is the call graph for this function: