49 inline bool IsZero()
const;
81 return *
reinterpret_cast<const uint32*
>(
Value.GetBytes());
153 TEXT(
"FBlake3Hash cannot be constructed from a view of %" UINT64_FMT " bytes."),
InHash.GetSize());
161 using UInt32Array =
uint32[8];
162 static_assert(
sizeof(UInt32Array) ==
sizeof(
ByteArray),
"Invalid size for UInt32Array");
163 for (
uint32 Value :
reinterpret_cast<const UInt32Array&
>(Hash))
173template <
typename CharType>
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
CORE_API FString LexToString(const FBlake3Hash &Hash)
Definition Blake3.cpp:101
TStringBuilderBase< CharType > & operator<<(TStringBuilderBase< CharType > &Builder, const FBlake3Hash &Hash)
Definition Blake3.h:174
void LexFromString(FBlake3Hash &OutHash, const TCHAR *Buffer)
Definition Blake3.h:181
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
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
FBlake3()
Definition Blake3.h:96
FBlake3(const FBlake3 &)=delete
CORE_API void Reset()
Definition Blake3.cpp:18
FBlake3 & operator=(const FBlake3 &)=delete
Definition CompositeBuffer.h:27
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
bool IsZero() const
Definition Blake3.h:159
const ByteArray & GetBytes() const
Definition Blake3.h:53
static const FBlake3Hash Zero
Definition Blake3.h:56
bool operator!=(const FBlake3Hash &B) const
Definition Blake3.h:63
friend uint32 GetTypeHash(const FBlake3Hash &Value)
Definition Blake3.h:79
ByteArray & GetBytes()
Definition Blake3.h:52
uint8[32] ByteArray
Definition Blake3.h:29
friend FArchive & operator<<(FArchive &Ar, FBlake3Hash &Value)
Definition Blake3.h:73
static FBlake3Hash FromView(FMemoryView Hash)
Definition Blake3.h:150
void Reset()
Definition Blake3.h:46
bool operator<(const FBlake3Hash &B) const
Definition Blake3.h:68
bool operator==(const FBlake3Hash &B) const
Definition Blake3.h:58
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
Definition TypeCompatibleBytes.h:17