58 inline bool IsZero()
const;
77 return FMemory::Memcmp(
A.GetBytes(),
B.GetBytes(),
sizeof(
decltype(
A.GetBytes()))) == 0;
82 return FMemory::Memcmp(
A.GetBytes(),
B.GetBytes(),
sizeof(
decltype(
A.GetBytes()))) != 0;
87 return FMemory::Memcmp(
A.GetBytes(),
B.GetBytes(),
sizeof(
decltype(
A.GetBytes()))) < 0;
92 return *
reinterpret_cast<const uint32*
>(
Value.GetBytes());
111 static_assert(
sizeof(
ByteArray) <=
sizeof(
decltype(
InHash.GetBytes())),
"Reading too many bytes from source.");
144 using UInt32Array =
uint32[5];
145 static_assert(
sizeof(UInt32Array) ==
sizeof(
ByteArray),
"Invalid size for UInt32Array");
146 for (
uint32 Value :
reinterpret_cast<const UInt32Array&
>(Hash))
171template <
typename CharType>
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void LexFromString(FIoHash &OutHash, const TCHAR *Buffer)
Definition IoHash.h:179
CORE_API FString LexToString(const FIoHash &Hash)
Definition IoHash.cpp:8
TStringBuilderBase< CharType > & operator<<(TStringBuilderBase< CharType > &Builder, const FIoHash &Hash)
Definition IoHash.h:172
uint32 Size
Definition VulkanMemory.cpp:4034
Definition Archive.h:1208
virtual void Serialize(void *V, int64 Length)
Definition Archive.h:1689
CORE_API FBlake3Hash Finalize() const
Definition Blake3.cpp:65
static CORE_API FBlake3Hash HashBuffer(FMemoryView View)
Definition Blake3.cpp:78
Definition CompositeBuffer.h:27
static FIoHash HashBuffer(const void *Data, uint64 Size)
Definition IoHash.h:202
FIoHash Finalize() const
Definition IoHash.h:198
static FIoHash HashBuffer(FMemoryView View)
Definition IoHash.h:201
static FIoHash HashBuffer(const FCompositeBuffer &Buffer)
Definition IoHash.h:203
Definition StringBuilder.h:79
void BytesToHexLower(TConstArrayView< uint8 > Bytes, ANSICHAR *OutHex)
Definition BytesToHex.cpp:42
int32 HexToBytes(FWideStringView Hex, uint8 *OutBytes)
Definition HexToBytes.cpp:30
ByteArray & GetBytes()
Definition IoHash.h:61
void Reset()
Definition IoHash.h:55
bool IsZero() const
Definition IoHash.h:142
friend FArchive & operator<<(FArchive &Ar, FIoHash &InHash)
Definition IoHash.h:95
friend bool operator<(const FIoHash &A, const FIoHash &B)
Definition IoHash.h:85
constexpr FIoHash()=default
const ByteArray & GetBytes() const
Definition IoHash.h:62
static FIoHash HashBuffer(FMemoryView View)
Definition IoHash.h:156
static const FIoHash Zero
Definition IoHash.h:70
friend bool operator==(const FIoHash &A, const FIoHash &B)
Definition IoHash.h:75
friend bool operator!=(const FIoHash &A, const FIoHash &B)
Definition IoHash.h:80
uint8[20] ByteArray
Definition IoHash.h:35
static FIoHash FromView(FMemoryView Hash)
Definition IoHash.h:133
friend uint32 GetTypeHash(const FIoHash &Value)
Definition IoHash.h:90
static UE_FORCEINLINE_HINT int32 Memcmp(const void *Buf1, const void *Buf2, SIZE_T Count)
Definition UnrealMemory.h:114
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160