5#include "../BasicTypes.h"
6#include "../HAL/UnrealMemory.h"
7#include "../Templates/UnrealTypeTraits.h"
8#include "../Templates/UnrealTemplate.h"
10#include "../Math/UnrealMathUtility.h"
12template<
typename Allocator >
class TBitArray;
20 const uint32 LowestBitMask = (Mask) & (-(int32)Mask);
22 Mask ^= LowestBitMask;
54 FORCEINLINE
void operator=(
const bool NewValue)
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
149
150
151
152template<
typename Allocator >
162 template<
typename,
typename>
166
167
168
169
170 explicit TBitArray(
const bool Value =
false,
const int32 InNumBits = 0 )
174 Init(Value,InNumBits);
178
179
182 MoveOrCopy(*
this, Other);
186
187
196
197
198 FORCEINLINE TBitArray&
operator=(TBitArray&& Other)
202 MoveOrCopy(*
this, Other);
209
210
211 FORCEINLINE TBitArray&
operator=(
const TBitArray& Copy)
220 NumBits = MaxBits = Copy.NumBits;
223 const int32 NumDWORDs = FMath::DivideAndRoundUp(MaxBits,
NumBitsPerDWORD);
225 FMemory::Memcpy(GetData(),Copy.GetData(),NumDWORDs *
sizeof(uint32));
231 template <
typename BitArrayType>
234 ToArray.AllocatorInstance.MoveToEmpty(FromArray.AllocatorInstance);
236 ToArray .NumBits = FromArray.NumBits;
237 ToArray .MaxBits = FromArray.MaxBits;
238 FromArray.NumBits = 0;
239 FromArray.MaxBits = 0;
242 template <
typename BitArrayType>
251
252
253
254 int32
Add(
const bool Value)
256 const int32 Index = NumBits;
257 const bool bReallocate = (NumBits + 1) > MaxBits;
264 const uint32 MaxDWORDs = AllocatorInstance.CalculateSlackGrow(
270 Realloc(NumBits - 1);
273 (*
this)[Index] = Value;
279
280
281
282 void Empty(int32 ExpectedNumBits = 0)
288 if(MaxBits != ExpectedNumBits)
290 MaxBits = ExpectedNumBits;
296
297
301 FMemory::Memset(GetData(), 0, FMath::DivideAndRoundUp(NumBits,
NumBitsPerDWORD) *
sizeof(uint32));
307
308
309
310
311 void Init(
bool Value,int32 InNumBits)
317 FMemory::Memset(GetData(),Value ? 0xff : 0, FMath::DivideAndRoundUp(NumBits,
NumBitsPerDWORD) *
sizeof(uint32));
322
323
324
325
326
329 check(Index >= 0 && Num >= 0 && Index + Num <= NumBits);
337 uint32 StartIndex = Index / 32;
338 uint32 Count = (Index + Num + 31) / 32 - StartIndex;
341 uint32 StartMask = 0xFFFFFFFFu << (Index % 32);
342 uint32 EndMask = 0xFFFFFFFFu >> (32 - (Index + Num) % 32) % 32;
344 uint32* Data = GetData() + StartIndex;
349 *Data |= StartMask & EndMask;
353 *Data++ |= StartMask;
367 *Data &= ~(StartMask & EndMask);
371 *Data++ &= ~StartMask;
384
385
386
387
388 void RemoveAt(int32 BaseIndex,int32 NumBitsToRemove = 1)
390 check(BaseIndex >= 0 && NumBitsToRemove >= 0 && BaseIndex + NumBitsToRemove <= NumBits);
392 if (BaseIndex + NumBitsToRemove != NumBits)
395 FIterator WriteIt(*
this);
396 for(FConstIterator ReadIt(*
this);ReadIt;++ReadIt)
399 if(ReadIt.GetIndex() < BaseIndex || ReadIt.GetIndex() >= BaseIndex + NumBitsToRemove)
401 if(WriteIt.GetIndex() != ReadIt.GetIndex())
403 WriteIt.GetValue() = (
bool)ReadIt.GetValue();
409 NumBits -= NumBitsToRemove;
413
414
415
416
417
420 check(BaseIndex >= 0 && NumBitsToRemove >= 0 && BaseIndex + NumBitsToRemove <= NumBits);
421 if( BaseIndex < NumBits - NumBitsToRemove )
424 for( int32 Index=0;Index<NumBitsToRemove;Index++ )
426#if PLATFORM_MAC || PLATFORM_LINUX
428 int32 FromIndex = NumBits - NumBitsToRemove + Index;
429 FConstBitReference From(GetData()[FromIndex / NumBitsPerDWORD],1 << (FromIndex & (NumBitsPerDWORD - 1)));
431 int32 ToIndex = BaseIndex + Index;
432 FBitReference To(GetData()[ToIndex / NumBitsPerDWORD],1 << (ToIndex & (NumBitsPerDWORD - 1)));
436 (*
this)[BaseIndex + Index] = (
bool)(*
this)[NumBits - NumBitsToRemove + Index];
442 NumBits -= NumBitsToRemove;
447
448
449
452 return FMath::DivideAndRoundUp(MaxBits,
NumBitsPerDWORD) *
sizeof(uint32);
456
457
458
462 const uint32 Test = bValue ? 0u : (uint32)-1;
464 const uint32*
RESTRICT DwordArray = GetData();
465 const int32 LocalNumBits = NumBits;
466 const int32 DwordCount = FMath::DivideAndRoundUp(LocalNumBits,
NumBitsPerDWORD);
467 int32 DwordIndex = 0;
468 while (DwordIndex < DwordCount && DwordArray[DwordIndex] == Test)
473 if (DwordIndex < DwordCount)
476 const uint32 Bits = bValue ? (DwordArray[DwordIndex]) : ~(DwordArray[DwordIndex]);
477 const int32 LowestBitIndex = FMath::CountTrailingZeros(Bits) + (DwordIndex <<
NumBitsPerDWORDLogTwo);
478 if (LowestBitIndex < LocalNumBits)
480 return LowestBitIndex;
489 return Find(bValue) != INDEX_NONE;
493
494
495
499 uint32*
RESTRICT DwordArray = GetData();
500 const int32 LocalNumBits = NumBits;
501 const int32 DwordCount = FMath::DivideAndRoundUp(LocalNumBits,
NumBitsPerDWORD);
502 int32 DwordIndex = 0;
503 while (DwordIndex < DwordCount && DwordArray[DwordIndex] == (uint32)-1)
508 if (DwordIndex < DwordCount)
511 const uint32 Bits = ~(DwordArray[DwordIndex]);
512 const uint32 LowestBit = (Bits) & (-(int32)Bits);
513 const int32 LowestBitIndex = FMath::CountTrailingZeros(Bits) + (DwordIndex <<
NumBitsPerDWORDLogTwo);
514 if (LowestBitIndex < LocalNumBits)
516 DwordArray[DwordIndex] |= LowestBit;
517 return LowestBitIndex;
527 return InIndex >= 0 && InIndex < NumBits;
530 FORCEINLINE int32
Num()
const {
return NumBits; }
533 check(Index>=0 && Index<NumBits);
534 return FBitReference(
541 check(Index>=0 && Index<NumBits);
542 return FConstBitReference(
550 checkSlow(RelativeReference.DWORDIndex >= 0);
551 checkSlow(((uint32)RelativeReference.DWORDIndex + 1) * NumBitsPerDWORD - 1 - FMath::CountLeadingZeros(RelativeReference.Mask) < (uint32)NumBits);
552 return FBitReference(
553 GetData()[RelativeReference.DWORDIndex],
554 RelativeReference.Mask
560 checkSlow(RelativeReference.DWORDIndex >= 0);
561 checkSlow(((uint32)RelativeReference.DWORDIndex + 1) * NumBitsPerDWORD - 1 - FMath::CountLeadingZeros(RelativeReference.Mask) < (uint32)NumBits);
562 return FConstBitReference(
563 GetData()[RelativeReference.DWORDIndex],
564 RelativeReference.Mask
572 FORCEINLINE
FIterator(TBitArray<Allocator>& InArray,int32 StartIndex = 0)
612 FORCEINLINE
FConstIterator(
const TBitArray<Allocator>& InArray,int32 StartIndex = 0)
692 return (uint32*)AllocatorInstance.GetAllocation();
697 return (uint32*)AllocatorInstance.GetAllocation();
709 const int32 PreviousNumDWORDs = FMath::DivideAndRoundUp(PreviousNumBits,
NumBitsPerDWORD);
710 const int32 MaxDWORDs = FMath::DivideAndRoundUp(MaxBits,
NumBitsPerDWORD);
712 AllocatorInstance.ResizeAllocation(PreviousNumDWORDs,MaxDWORDs,
sizeof(uint32));
717 FMemory::Memzero((uint32*)AllocatorInstance.GetAllocation() + PreviousNumDWORDs,(MaxDWORDs - PreviousNumDWORDs) *
sizeof(uint32));
723template<
typename Allocator>
731template<
typename Allocator>
744 check(StartIndex >= 0 && StartIndex <= Array.Num());
844template<
typename Allocator,
typename OtherAllocator>
851 const TBitArray<Allocator>& InArrayA,
852 const TBitArray<OtherAllocator>& InArrayB,
862 check(ArrayA.Num() == ArrayB.Num());
957
958
959
960
969 return Index >= 0 && Index <
NumBits;
974 check(IsValidIndex(Index));
980 check(IsValidIndex(Index));
997 int32
Add(
const bool Value)
1005 (*
this)
[Index
] = Value;
1020 typedef TBitArray<> RealType;
1023 static_assert(
sizeof (ScriptType) ==
sizeof (RealType),
"FScriptBitArray's size doesn't match TBitArray");
1024 static_assert(
alignof(ScriptType) ==
alignof(RealType),
"FScriptBitArray's alignment doesn't match TBitArray");
1028 static_assert(
sizeof(
DeclVal<ScriptType
>().NumBits) ==
sizeof(
DeclVal<RealType
>().NumBits),
"FScriptBitArray's NumBits member size does not match TBitArray's");
1029 static_assert(
sizeof(
DeclVal<ScriptType
>().MaxBits) ==
sizeof(
DeclVal<RealType
>().MaxBits),
"FScriptBitArray's MaxBits member size does not match TBitArray's");
1058 if (MaxDWORDs && MaxDWORDs > PreviousNumDWORDs)
1075 if (MaxDWORDs && MaxDWORDs > PreviousNumDWORDs)
T AlignArbitrary(const T Ptr, uint32 Alignment)
static FORCEINLINE bool IsAligned(const volatile void *Ptr, const uint32 Alignment)
CONSTEXPR T AlignDown(const T Ptr, int32 Alignment)
CONSTEXPR T Align(const T Ptr, int32 Alignment)
static unsigned int GetBuildUniqueId()
ARK_API LPVOID GetDataAddress(const std::string &name)
ARK_API BitField GetBitField(LPVOID base, const std::string &name)
ARK_API BitField GetBitField(const void *base, const std::string &name)
ARK_API DWORD64 GetAddress(const void *base, const std::string &name)
ARK_API LPVOID GetAddress(const std::string &name)
FPlatformTypes::CHAR16 UCS2CHAR
A 16-bit character containing a UCS2 (Unicode, 16-bit, fixed-width) code unit, used for compatibility...
FWindowsPlatformTypes FPlatformTypes
#define PLATFORM_LITTLE_ENDIAN
FPlatformTypes::CHAR8 UTF8CHAR
An 8-bit character containing a UTF8 (Unicode, 8-bit, variable-width) code unit.
#define PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS
#define ensureMsgf(Expr, Expr2)
FPlatformTypes::CHAR16 UTF16CHAR
A 16-bit character containing a UTF16 (Unicode, 16-bit, variable-width) code unit.
FPlatformTypes::CHAR32 UTF32CHAR
A 32-bit character containing a UTF32 (Unicode, 32-bit, fixed-width) code unit.
static FORCEINLINE int32 BYTESWAP_ORDER32(int32 val)
static FORCEINLINE uint16 BYTESWAP_ORDER16(uint16 val)
static FORCEINLINE void BYTESWAP_ORDER_TCHARARRAY(TCHAR *str)
static FORCEINLINE uint32 BYTESWAP_ORDER32(uint32 val)
#define BYTESWAP_ORDER16_unsigned(x)
static FORCEINLINE float BYTESWAP_ORDERF(float val)
static FORCEINLINE int16 BYTESWAP_ORDER16(int16 val)
static FORCEINLINE uint64 BYTESWAP_ORDER64(uint64 Value)
static FORCEINLINE int64 BYTESWAP_ORDER64(int64 Value)
#define BYTESWAP_ORDER32_unsigned(x)
TCString< ANSICHAR > FCStringAnsi
TCString< WIDECHAR > FCStringWide
TCString< TCHAR > FCString
TChar< WIDECHAR > FCharWide
#define LITERAL(CharType, StringLiteral)
TChar< ANSICHAR > FCharAnsi
static const float OneOver255
FORCEINLINE FLinearColor operator*(float Scalar, const FLinearColor &Color)
FORCEINLINE int32 DefaultCalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, SIZE_T BytesPerElement, bool bAllowQuantize, uint32 Alignment=DEFAULT_ALIGNMENT)
#define DEFAULT_MIN_NUMBER_OF_HASHED_ELEMENTS
#define NumBitsPerDWORDLogTwo
#define DEFAULT_NUMBER_OF_ELEMENTS_PER_HASH_BUCKET
#define DEFAULT_BASE_NUMBER_OF_HASH_BUCKETS
FORCEINLINE int32 DefaultCalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, SIZE_T BytesPerElement, bool bAllowQuantize, uint32 Alignment=DEFAULT_ALIGNMENT)
FORCEINLINE int32 DefaultCalculateSlackReserve(int32 NumElements, SIZE_T BytesPerElement, bool bAllowQuantize, uint32 Alignment=DEFAULT_ALIGNMENT)
int32 FindMatchingClosingParenthesis(const FString &TargetString, const int32 StartSearch)
int32 HexToBytes(const FString &HexString, uint8 *OutBytes)
const TCHAR * GetData(const FString &String)
const uint8 TCharToNibble(const TCHAR Char)
const bool CheckTCharIsHex(const TCHAR Char)
FORCEINLINE uint32 GetTypeHash(const FString &Thing)
TCHAR * GetData(FString &String)
SIZE_T GetNum(const FString &String)
void ByteToHex(uint8 In, FString &Result)
static const uint32 MaxSupportedEscapeChars
FString BytesToHex(const uint8 *In, int32 Count)
int32 StringToBytes(const FString &String, uint8 *OutBytes, int32 MaxBufferSize)
static const TCHAR * CharToEscapeSeqMap[][2]
TCHAR NibbleToTChar(uint8 Num)
FString BytesToString(const uint8 *In, int32 Count)
FORCEINLINE bool operator==(TYPE_OF_NULLPTR, const TFunction< FuncType > &Func)
#define ENABLE_TFUNCTIONREF_VISUALIZATION
void * operator new(size_t Size, UE4Function_Private::FFunctionStorage &Storage)
FORCEINLINE bool operator!=(TYPE_OF_NULLPTR, const TFunction< FuncType > &Func)
FORCEINLINE bool operator!=(const TFunction< FuncType > &Func, TYPE_OF_NULLPTR)
FORCEINLINE bool operator==(const TFunction< FuncType > &Func, TYPE_OF_NULLPTR)
FORCEINLINE auto Invoke(ReturnType ObjType::*pdm, CallableType &&Callable) -> decltype(UE4Invoke_Private::DereferenceIfNecessary< ObjType >(Forward< CallableType >(Callable)).*pdm)
FORCEINLINE auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(Forward< FuncType >(Func)(Forward< ArgTypes >(Args)...))
FORCEINLINE auto Invoke(ReturnType(ObjType::*PtrMemFun)(PMFArgTypes...), CallableType &&Callable, ArgTypes &&... Args) -> decltype((UE4Invoke_Private::DereferenceIfNecessary< ObjType >(Forward< CallableType >(Callable)).*PtrMemFun)(Forward< ArgTypes >(Args)...))
ARK_API std::vector< spdlog::sink_ptr > &APIENTRY GetLogSinks()
FORCEINLINE TEnableIf<!TIsTriviallyCopyAssignable< ElementType >::Value >::Type CopyAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
FORCEINLINE TEnableIf< UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type RelocateConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
FORCEINLINE TEnableIf< TIsZeroConstructType< ElementType >::Value >::Type DefaultConstructItems(void *Elements, int32 Count)
FORCEINLINE TEnableIf<!TIsTriviallyCopyConstructible< ElementType >::Value >::Type MoveConstructItems(void *Dest, const ElementType *Source, int32 Count)
FORCEINLINE TEnableIf< TIsTriviallyCopyConstructible< ElementType >::Value >::Type MoveConstructItems(void *Dest, const ElementType *Source, int32 Count)
FORCEINLINE TEnableIf<!TIsZeroConstructType< ElementType >::Value >::Type DefaultConstructItems(void *Address, int32 Count)
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type DestructItem(ElementType *Element)
FORCEINLINE TEnableIf< TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type CompareItems(const ElementType *A, const ElementType *B, int32 Count)
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type MoveAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type DestructItem(ElementType *Element)
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type DestructItems(ElementType *Element, int32 Count)
FORCEINLINE TEnableIf<!TIsTriviallyCopyAssignable< ElementType >::Value >::Type MoveAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
FORCEINLINE TEnableIf<!TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type CompareItems(const ElementType *A, const ElementType *B, int32 Count)
FORCEINLINE TEnableIf<!TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type ConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
FORCEINLINE TEnableIf<!UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type RelocateConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type DestructItems(ElementType *Elements, int32 Count)
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type CopyAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
FORCEINLINE TEnableIf< TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type ConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
#define WIN32_LEAN_AND_MEAN
FORCEINLINE FRotator operator*(float Scale, const FRotator &R)
FORCEINLINE void MoveByRelocate(T &A, T &B)
FORCEINLINE SharedPointerInternals::FRawPtrProxy< ObjectType > MakeShareable(ObjectType *InObject, DeleterType &&InDeleter)
FORCEINLINE bool operator==(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE TSharedRef< InObjectType, InMode > MakeShared(InArgTypes &&... Args)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE TSharedPtr< CastToType, Mode > StaticCastSharedPtr(TSharedPtr< CastFromType, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, decltype(nullptr))
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE bool operator==(TSharedRef< ObjectTypeA, Mode > const &InSharedRef, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE bool operator==(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
FORCEINLINE void CleanupPointerMap(TMap< TWeakPtr< KeyType >, ValueType > &PointerMap)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
FORCEINLINE bool operator!=(TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr, TSharedRef< ObjectTypeA, Mode > const &InSharedRef)
FORCEINLINE void CleanupPointerArray(TArray< TWeakPtr< Type > > &PointerArray)
FORCEINLINE bool operator!=(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, decltype(nullptr))
FORCEINLINE TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
FORCEINLINE SharedPointerInternals::FRawPtrProxy< ObjectType > MakeShareable(ObjectType *InObject)
FORCEINLINE bool operator==(decltype(nullptr), TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE TSharedRef< CastToType, Mode > ConstCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
FORCEINLINE bool operator==(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(decltype(nullptr), TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE TSharedPtr< CastToType, Mode > ConstCastSharedPtr(TSharedPtr< CastFromType, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr, TSharedRef< ObjectTypeA, Mode > const &InSharedRef)
FORCEINLINE bool operator!=(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(TSharedRef< ObjectTypeA, Mode > const &InSharedRef, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
void StableSort(T **First, const int32 Num, const PREDICATE_CLASS &Predicate)
void StableSort(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
void StableSortInternal(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
void Sort(T **First, const int32 Num)
void StableSort(T *First, const int32 Num)
void StableSort(T **First, const int32 Num)
void Merge(T *Out, T *In, const int32 Mid, const int32 Num, const PREDICATE_CLASS &Predicate)
void Sort(T **First, const int32 Num, const PREDICATE_CLASS &Predicate)
void Sort(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
void Sort(T *First, const int32 Num)
void * operator new(size_t Size, const FSparseArrayAllocationInfo &Allocation)
#define TSPARSEARRAY_RANGED_FOR_CHECKS
#define TARRAY_RANGED_FOR_CHECKS
FORCEINLINE TIndexedContainerIterator< ContainerType, ElementType, IndexType > operator+(int32 Offset, TIndexedContainerIterator< ContainerType, ElementType, IndexType > RHS)
void * operator new(size_t Size, TArray< T, Allocator > &Array, int32 Index)
void * operator new(size_t Size, TArray< T, Allocator > &Array)
#define USE_TUPLE_AUTO_RETURN_TYPES
FORCEINLINE void VisitTupleElements(TupleType &Tuple, FuncType Func)
FORCEINLINE decltype(auto) TransformTuple(const TTuple< Types... > &Tuple, FuncType Func)
#define TUPLES_USE_DEFAULTED_FUNCTIONS
TTuple< typename TDecay< Types >::Type... > MakeTuple(Types &&... Args)
FORCEINLINE decltype(auto) TransformTuple(TTuple< Types... > &&Tuple, FuncType Func)
#define IMPLEMENT_ALIGNED_STORAGE(Align)
FORCEINLINE uint32 GetTypeHash(const TTuple<> &Tuple)
uint32 GetTypeHash(double Value)
uint32 GetTypeHash(const int64 A)
uint32 HashCombine(uint32 A, uint32 C)
uint32 GetTypeHash(const void *A)
uint32 GetTypeHash(const uint16 A)
FORCEINLINE uint32 GetTypeHash(const TTuple< Types... > &Tuple)
uint32 GetTypeHash(const uint8 A)
uint32 GetTypeHash(const int16 A)
uint32 PointerHash(const void *Key, uint32 C=0)
uint32 GetTypeHash(void *A)
uint32 GetTypeHash(float Value)
FORCEINLINE TEnableIf< TIsEnum< EnumType >::Value, uint32 >::Type GetTypeHash(EnumType E)
uint32 GetTypeHash(const uint32 A)
uint32 GetTypeHash(const int32 A)
uint32 GetTypeHash(const uint64 A)
uint32 GetTypeHash(const int8 A)
FORCEINLINE uint32 GetTypeHash(const FName &name)
TWeakObjectPtr< T > GetWeakReference(T *object)
#define THRESH_VECTOR_NORMALIZED
#define THRESH_NORMALS_ARE_PARALLEL
#define THRESH_POINTS_ARE_SAME
#define THRESH_POINT_ON_PLANE
#define THRESH_NORMALS_ARE_ORTHOGONAL
#define KINDA_SMALL_NUMBER
CONSTEXPR SIZE_T GetNum(T(&Container)[N])
FORCEINLINE T && Forward(typename TRemoveReference< T >::Type &&Obj)
FORCEINLINE TRemoveReference< T >::Type && MoveTempIfPossible(T &&Obj)
auto GetData(T &&Container) -> decltype(Container.GetData())
TEnableIf< TUseBitwiseSwap< T >::Value >::Type Swap(T &A, T &B)
ForwardIt MaxElement(ForwardIt First, ForwardIt Last, PredicateType Predicate)
ForwardIt MinElement(ForwardIt First, ForwardIt Last, PredicateType Predicate)
SIZE_T GetNum(T &&Container)
#define ARRAY_COUNT(array)
FORCEINLINE ReferencedType * IfPThenAElseB(PredicateType Predicate, ReferencedType *A, ReferencedType *B)
FORCEINLINE T && CopyTemp(T &&Val)
void Exchange(T &A, T &B)
FORCEINLINE T CopyTemp(T &Val)
FORCEINLINE TRemoveReference< T >::Type && MoveTemp(T &&Obj)
CONSTEXPR T * GetData(T(&Container)[N])
FORCEINLINE T && Forward(typename TRemoveReference< T >::Type &Obj)
FORCEINLINE void Move(T &A, typename TMoveSupportTraits< T >::Copy B)
FORCEINLINE TEnableIf< TAreTypesEqual< T, uint32 >::Value, T >::Type ReverseBits(T Bits)
FORCEINLINE ReferencedType * IfAThenAElseB(ReferencedType *A, ReferencedType *B)
#define STRUCT_OFFSET(struc, member)
FORCEINLINE T CopyTemp(const T &Val)
ForwardIt MaxElement(ForwardIt First, ForwardIt Last)
ForwardIt MinElement(ForwardIt First, ForwardIt Last)
FORCEINLINE void Move(T &A, typename TMoveSupportTraits< T >::Move B)
TEnableIf<!TUseBitwiseSwap< T >::Value >::Type Swap(T &A, T &B)
FORCEINLINE T StaticCast(ArgType &&Arg)
#define Expose_TNameOf(type)
#define Expose_TFormatSpecifier(type, format)
FORCEINLINE FVector2D operator*(float Scale, const FVector2D &V)
FORCEINLINE float ComputeSquaredDistanceFromBoxToPoint(const FVector &Mins, const FVector &Maxs, const FVector &Point)
FORCEINLINE FVector ClampVector(const FVector &V, const FVector &Min, const FVector &Max)
FORCEINLINE FVector operator*(float Scale, const FVector &V)
ApiUtils & operator=(ApiUtils &&)=delete
void SetCheatManager(UShooterCheatManager *cheatmanager)
void SetWorld(UWorld *uworld)
ApiUtils & operator=(const ApiUtils &)=delete
void SetShooterGameMode(AShooterGameMode *shooter_game_mode)
std::unordered_map< uint64, AShooterPlayerController * > steam_id_map_
UShooterCheatManager * GetCheatManager() const override
Returns a point to URCON CheatManager.
ApiUtils(ApiUtils &&)=delete
AShooterGameMode * shooter_game_mode_
AShooterGameMode * GetShooterGameMode() const override
Returns a pointer to AShooterGameMode.
void RemovePlayerController(AShooterPlayerController *player_controller)
UShooterCheatManager * cheatmanager_
void SetPlayerController(AShooterPlayerController *player_controller)
ServerStatus GetStatus() const override
Returns the current server status.
AShooterPlayerController * FindPlayerFromSteamId_Internal(uint64 steam_id) const override
~ApiUtils() override=default
void SetStatus(ServerStatus status)
UWorld * GetWorld() const override
Returns a pointer to UWorld.
ApiUtils(const ApiUtils &)=delete
static FString GetSteamName(AController *player_controller)
Returns the steam name of player.
static FORCEINLINE FString GetItemBlueprint(UPrimalItem *item)
Returns blueprint from UPrimalItem.
static FVector GetPosition(APlayerController *player_controller)
Returns the position of a player.
uint64 GetSteamIDForPlayerID(int player_id) const
static FORCEINLINE FString GetClassBlueprint(UClass *the_class)
Returns blueprint path from any UClass.
void SendServerMessageToAll(FLinearColor msg_color, const T *msg, Args &&... args)
Sends server message to all players. Using fmt::format.
virtual UShooterCheatManager * GetCheatManager() const =0
Returns a point to URCON CheatManager.
UPrimalGameData * GetGameData()
Returns pointer to Primal Game Data.
static bool IsRidingDino(AShooterPlayerController *player_controller)
Returns true if character is riding a dino, false otherwise.
AShooterGameState * GetGameState()
Get Shooter Game State.
virtual ~IApiUtils()=default
AShooterPlayerController * FindPlayerFromSteamName(const FString &steam_name) const
Finds player from the given steam name.
static UShooterCheatManager * GetCheatManagerByPC(AShooterPlayerController *SPC)
Get UShooterCheatManager* of player controller.
static uint64 GetPlayerID(AController *controller)
static bool IsPlayerDead(AShooterPlayerController *player)
Returns true if player is dead, false otherwise.
void SendNotificationToAll(FLinearColor color, float display_scale, float display_time, UTexture2D *icon, const T *msg, Args &&... args)
Sends notification (on-screen message) to all players. Using fmt::format.
APrimalDinoCharacter * SpawnDino(AShooterPlayerController *player, FString blueprint, FVector *location, int lvl, bool force_tame, bool neutered) const
Spawns a dino near player or at specific coordinates.
TArray< AShooterPlayerController * > FindPlayerFromCharacterName(const FString &character_name, ESearchCase::Type search, bool full_match) const
Finds all matching players from the given character name.
static FORCEINLINE FString GetBlueprint(UObjectBase *object)
Returns blueprint path from any UObject.
static FString GetCharacterName(AShooterPlayerController *player_controller, bool include_first_name=true, bool include_last_name=true)
Returns the character name of player.
TArray< AActor * > GetAllActorsInRange(FVector location, float radius, EServerOctreeGroup::Type ActorType)
Gets all actors in radius at location.
void SendChatMessageToAll(const FString &sender_name, const T *msg, Args &&... args)
Sends chat message to all players. Using fmt::format.
TArray< AActor * > GetAllActorsInRange(FVector location, float radius, EServerOctreeGroup::Type ActorType, TArray< AActor * > ignores)
Gets all actors in radius at location, with ignore actors.
virtual AShooterGameMode * GetShooterGameMode() const =0
Returns a pointer to AShooterGameMode.
static uint64 GetSteamIdFromController(AController *controller)
Returns Steam ID from player controller.
virtual UWorld * GetWorld() const =0
Returns a pointer to UWorld.
static bool TeleportToPos(AShooterPlayerController *player_controller, const FVector &pos)
Teleports player to the given position.
void SendNotification(AShooterPlayerController *player_controller, FLinearColor color, float display_scale, float display_time, UTexture2D *icon, const T *msg, Args &&... args)
Sends notification (on-screen message) to the specific player. Using fmt::format.
static uint64 GetPlayerID(APrimalCharacter *character)
virtual AShooterPlayerController * FindPlayerFromSteamId_Internal(uint64 steam_id) const =0
AShooterPlayerController * FindControllerFromCharacter(AShooterCharacter *character) const
Finds player controller from the given player character.
static APrimalDinoCharacter * GetRidingDino(AShooterPlayerController *player_controller)
Returns the dino the character is riding.
static FString GetIPAddress(AShooterPlayerController *player_controller)
Returns IP address of player.
AShooterPlayerController * FindPlayerFromSteamId(uint64 steam_id) const
Finds player from the given steam id.
virtual ServerStatus GetStatus() const =0
Returns the current server status.
void SendServerMessage(AShooterPlayerController *player_controller, FLinearColor msg_color, const T *msg, Args &&... args)
Sends server message to the specific player. Using fmt::format.
static std::optional< FString > TeleportToPlayer(AShooterPlayerController *me, AShooterPlayerController *him, bool check_for_dino, float max_dist)
Teleport one player to another.
static int GetInventoryItemCount(AShooterPlayerController *player_controller, const FString &item_name)
Counts a specific items quantity.
void SendChatMessage(AShooterPlayerController *player_controller, const FString &sender_name, const T *msg, Args &&... args)
Sends chat message to the specific player. Using fmt::format.
BitFieldValue & operator=(RT other)
DataValue & operator=(const T &other)
FORCEINLINE FBitReference(uint32 &InData, uint32 InMask)
FORCEINLINE FBitReference & operator=(const FBitReference &Copy)
FORCEINLINE void operator=(const bool NewValue)
FORCEINLINE operator bool() const
static const FColor MediumSlateBlue
static const FColor Orange
static const FColor DarkGreenCopper
static const FColor BronzeII
static const FColor Yellow
static const FColor Magenta
static const FColor IndianRed
static const FColor SummerSky
static const FColor SpringGreen
static const FColor CornFlowerBlue
static const FColor GreenCopper
static const FColor MediumGoldenrod
static const FColor LimeGreen
static const FColor LightSteelBlue
static const FColor DarkOliveGreen
static const FColor Quartz
static const FColor SteelBlue
static const FColor DarkPurple
static const FColor Turquoise
static const FColor Black
static const FColor Maroon
static const FColor MediumOrchid
static const FColor NewTan
static const FColor NeonBlue
static const FColor MediumWood
static const FColor DarkSlateBlue
static const FColor White
static const FColor MandarianOrange
static const FColor Scarlet
static const FColor SeaGreen
static const FColor Aquamarine
static const FColor Wheat
static const FColor VeryDarkBrown
static const FColor Thistle
static const FColor BlueViolet
static const FColor Violet
static const FColor MediumSpringGreen
static const FColor NavyBlue
static const FColor CoolCopper
static const FColor DarkTan
static const FColor Firebrick
static const FColor GreenYellow
static const FColor DarkOrchid
static const FColor SemiSweetChocolate
static const FColor SpicyPink
static const FColor OldGold
static const FColor DarkTurquoise
static const FColor PaleGreen
static const FColor BrightGold
static const FColor CadetBlue
static const FColor BakerChocolate
static const FColor DarkGreen
static const FColor Coral
static const FColor OrangeRed
static const FColor HunterGreen
static const FColor VeryLightGrey
static const FColor MediumVioletRed
static const FColor Silver
static const FColor MediumSeaGreen
static const FColor DarkSlateGrey
static const FColor Khaki
static const FColor DustyRose
static const FColor Bronze
static const FColor MediumBlue
static const FColor Goldenrod
static const FColor Feldspar
static const FColor LightBlue
static const FColor DimGrey
static const FColor Brown
static const FColor VioletRed
static const FColor Orchid
static const FColor LightWood
static const FColor SlateBlue
static const FColor DarkWood
static const FColor NeonPink
static const FColor MediumTurquoise
static const FColor MediumForestGreen
static const FColor Salmon
static const FColor Brass
static const FColor ForestGreen
static const FColor Sienna
static const FColor MediumAquamarine
static const FColor YellowGreen
static const FColor Green
static const FColor RichBlue
static const FColor MidnightBlue
static const FColor LightGrey
static const FColor SkyBlue
static const FColor NewMidnightBlue
static const FColor DarkBrown
static const FColor Copper
FORCEINLINE operator bool() const
FORCEINLINE FConstBitReference(const uint32 &InData, uint32 InMask)
void MoveToEmpty(ForElementType &Other)
int32 CalculateSlackGrow(int32 NumElements, int32 CurrentNumSlackElements, SIZE_T NumBytesPerElement) const
int32 CalculateSlack(int32 NumElements, int32 CurrentNumSlackElements, SIZE_T NumBytesPerElement) const
int32 CalculateSlackShrink(int32 NumElements, int32 CurrentNumSlackElements, SIZE_T NumBytesPerElement) const
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
ElementType * GetAllocation() const
ForElementType< FScriptContainerElement > ForAnyElementType
TInlineAllocator< 4 > Typedef
TSparseArrayAllocator Typedef
static int32 GCD(int32 A, int32 B)
FORCEINLINE FScriptContainerElement * GetAllocation() const
FORCEINLINE void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
FScriptContainerElement * Data
ForAnyElementType & operator=(const ForAnyElementType &)
ForAnyElementType(const ForAnyElementType &)
FORCEINLINE int32 CalculateSlackReserve(int32 NumElements, int32 NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FORCEINLINE ~ForAnyElementType()
FORCEINLINE void MoveToEmpty(ForAnyElementType &Other)
FORCEINLINE ElementType * GetAllocation() const
FNoncopyable(const FNoncopyable &)
FNoncopyable & operator=(const FNoncopyable &)
FORCEINLINE FRelativeBitReference(int32 BitIndex)
void operator=(const FScriptArray &)
int32 AddZeroed(int32 Count, int32 NumBytesPerElement)
void Insert(int32 Index, int32 Count, int32 NumBytesPerElement)
FORCEINLINE void * GetData()
FORCEINLINE int32 GetSlack() const
FORCENOINLINE void ResizeGrow(int32 OldNum, int32 NumBytesPerElement)
FORCEINLINE const void * GetData() const
void InsertZeroed(int32 Index, int32 Count, int32 NumBytesPerElement)
void Shrink(int32 NumBytesPerElement)
FORCEINLINE bool IsValidIndex(int32 i) const
void Empty(int32 Slack, int32 NumBytesPerElement)
FScriptArray(int32 InNum, int32 NumBytesPerElement)
FORCENOINLINE void ResizeInit(int32 NumBytesPerElement)
FScriptArray(const FScriptArray &)
FORCEINLINE int32 Num() const
FORCENOINLINE void ResizeTo(int32 NewMax, int32 NumBytesPerElement)
FORCENOINLINE void ResizeShrink(int32 NumBytesPerElement)
int32 Add(int32 Count, int32 NumBytesPerElement)
void Remove(int32 Index, int32 Count, int32 NumBytesPerElement)
FORCEINLINE uint32 * GetData()
static void CheckConstraints()
FDefaultBitArrayAllocator::ForElementType< uint32 > AllocatorType
int32 Add(const bool Value)
void operator=(const FScriptBitArray &)
FORCENOINLINE void Realloc(int32 PreviousNumBits)
AllocatorType AllocatorInstance
FBitReference operator[](int32 Index)
bool IsValidIndex(int32 Index) const
FConstBitReference operator[](int32 Index) const
void Empty(int32 Slack=0)
FORCEINLINE const uint32 * GetData() const
FScriptBitArray(const FScriptBitArray &)
FORCENOINLINE void ReallocGrow(int32 PreviousNumBits)
int32 FindPairIndex(const void *Key, const FScriptMapLayout &MapLayout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> KeyEqualityFn)
FScriptMap(const FScriptMap &)
void Empty(int32 Slack, const FScriptMapLayout &Layout)
bool IsValidIndex(int32 Index) const
uint8 * FindValue(const void *Key, const FScriptMapLayout &MapLayout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> KeyEqualityFn)
int32 AddUninitialized(const FScriptMapLayout &Layout)
const void * GetData(int32 Index, const FScriptMapLayout &Layout) const
void * GetData(int32 Index, const FScriptMapLayout &Layout)
void Add(const void *Key, const void *Value, const FScriptMapLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> KeyEqualityFn, TFunctionRef< void(void *)> KeyConstructAndAssignFn, TFunctionRef< void(void *)> ValueConstructAndAssignFn, TFunctionRef< void(void *)> ValueAssignFn, TFunctionRef< void(void *)> DestructKeyFn, TFunctionRef< void(void *)> DestructValueFn)
void operator=(const FScriptMap &)
static FScriptMapLayout GetScriptLayout(int32 KeySize, int32 KeyAlignment, int32 ValueSize, int32 ValueAlignment)
int32 GetMaxIndex() const
void Rehash(const FScriptMapLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash)
void RemoveAt(int32 Index, const FScriptMapLayout &Layout)
static void CheckConstraints()
void Add(const void *Element, const FScriptSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn, TFunctionRef< void(void *)> ConstructFn, TFunctionRef< void(void *)> DestructFn)
static void CheckConstraints()
void * GetData(int32 Index, const FScriptSetLayout &Layout)
void RemoveAt(int32 Index, const FScriptSetLayout &Layout)
int32 FindIndex(const void *Element, const FScriptSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn)
static int32 & GetHashIndexRef(const void *Element, const FScriptSetLayout &Layout)
void Rehash(const FScriptSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash)
static FScriptSetLayout GetScriptLayout(int32 ElementSize, int32 ElementAlignment)
int32 AddUninitialized(const FScriptSetLayout &Layout)
void Empty(int32 Slack, const FScriptSetLayout &Layout)
Allocator::HashAllocator::ForElementType< FSetElementId > HashType
int32 GetMaxIndex() const
static FSetElementId & GetHashNextIdRef(const void *Element, const FScriptSetLayout &Layout)
FScriptSet(const FScriptSet &)
const void * GetData(int32 Index, const FScriptSetLayout &Layout) const
FScriptSparseArray Elements
FDefaultSetAllocator Allocator
void operator=(const FScriptSet &)
FORCEINLINE FSetElementId & GetTypedHash(int32 HashIndex) const
bool IsValidIndex(int32 Index) const
FORCEINLINE FFreeListLink * GetFreeListLink(int32 Index, const FScriptSparseArrayLayout &Layout)
bool IsValidIndex(int32 Index) const
int32 AddUninitialized(const FScriptSparseArrayLayout &Layout)
static FScriptSparseArrayLayout GetScriptLayout(int32 ElementSize, int32 ElementAlignment)
int32 GetMaxIndex() const
void operator=(const FScriptSparseArray &)
void Empty(int32 Slack, const FScriptSparseArrayLayout &Layout)
FScriptBitArray AllocationFlags
FScriptSparseArray(const FScriptSparseArray &)
void * GetData(int32 Index, const FScriptSparseArrayLayout &Layout)
static void CheckConstraints()
const void * GetData(int32 Index, const FScriptSparseArrayLayout &Layout) const
void RemoveAtUninitialized(const FScriptSparseArrayLayout &Layout, int32 Index, int32 Count=1)
FORCEINLINE bool IsValidId() const
FORCEINLINE FSetElementId(int32 InIndex)
FORCEINLINE int32 AsInteger() const
FORCEINLINE FSetElementId()
FORCEINLINE operator int32() const
static FORCEINLINE FSetElementId FromInteger(int32 Integer)
FORCEINLINE friend bool operator==(const FSetElementId &A, const FSetElementId &B)
FORCEINLINE const DataType & GetCharArray() const
FORCEINLINE friend bool operator<=(const FString &Lhs, const CharType *Rhs)
FORCEINLINE void RemoveAt(int32 Index, int32 Count=1, bool bAllowShrinking=true)
FORCEINLINE friend FString operator+(FString &&Lhs, FString &&Rhs)
FORCEINLINE FString & Append(const FString &Text)
FORCEINLINE uint32 GetAllocatedSize() const
FString TrimStart() const &
int32 Find(const TCHAR *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
FORCEINLINE friend FString operator/(const FString &Lhs, const FString &Rhs)
FORCEINLINE FString(const std::string &str)
int32 ParseIntoArray(TArray< FString > &OutArray, const TCHAR **DelimArray, int32 NumDelims, bool InCullEmpty=true) const
FORCEINLINE friend FString operator+(const FString &Lhs, const TCHAR *Rhs)
FORCEINLINE friend bool operator!=(const FString &Lhs, const CharType *Rhs)
FORCEINLINE int32 Find(const FString &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
FORCEINLINE friend DataType::RangedForIteratorType end(FString &Str)
FORCEINLINE friend FString operator+(FString &&Lhs, const FString &Rhs)
FString(FString &&)=default
FORCEINLINE FString & operator=(const TCHAR *Other)
FORCEINLINE friend bool operator<(const CharType *Lhs, const FString &Rhs)
FString TrimEnd() const &
FString Replace(const TCHAR *From, const TCHAR *To, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
FORCEINLINE FString LeftChop(int32 Count) const
FORCEINLINE bool FindChar(TCHAR InChar, int32 &Index) const
FORCEINLINE friend bool operator!=(const FString &Lhs, const FString &Rhs)
int32 ReplaceInline(const TCHAR *SearchText, const TCHAR *ReplacementText, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
FORCEINLINE FString Mid(int32 Start, int32 Count=INT_MAX) const
FORCEINLINE FString(FString &&Other, int32 ExtraSlack)
static FORCEINLINE FString ConcatFStrings(typename TIdentity< LhsType >::Type Lhs, typename TIdentity< RhsType >::Type Rhs)
static FString Chr(TCHAR Ch)
FORCEINLINE friend DataType::RangedForIteratorType begin(FString &Str)
FORCEINLINE friend FString operator+(const FString &Lhs, FString &&Rhs)
FORCEINLINE DataType & GetCharArray()
FORCEINLINE friend bool operator==(const FString &Lhs, const CharType *Rhs)
static FORCEINLINE FString FromInt(int32 Num)
FORCEINLINE FString & operator+=(const FString &Str)
FString & Append(const TCHAR *Text, int32 Count)
FORCEINLINE FString & operator/=(const FString &Str)
FORCEINLINE friend FString operator+(const FString &Lhs, const FString &Rhs)
FORCEINLINE int32 Compare(const FString &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
FORCEINLINE friend bool operator<=(const CharType *Lhs, const FString &Rhs)
FORCEINLINE friend bool operator==(const FString &Lhs, const FString &Rhs)
FString TrimStartAndEnd() &&
FORCEINLINE friend FString operator+(const TCHAR *Lhs, const FString &Rhs)
FORCEINLINE TIterator CreateIterator()
FORCEINLINE void Reserve(const uint32 CharacterCount)
FString ReplaceQuotesWithEscapedQuotes() const
FString & operator=(FString &&)=default
static int32 CullArray(TArray< FString > *InArray)
bool MatchesWildcard(const FString &Wildcard, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
FString ConvertTabsToSpaces(const int32 InSpacesPerTab)
bool StartsWith(const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
FORCEINLINE friend bool operator!=(const CharType *Lhs, const FString &Rhs)
static FORCEINLINE FString ConcatTCHARsToFString(const TCHAR *Lhs, typename TIdentity< RhsType >::Type Rhs)
FORCEINLINE FString Left(int32 Count) const
static bool ToHexBlob(const FString &Source, uint8 *DestBuffer, const uint32 DestSize)
int32 ParseIntoArrayLines(TArray< FString > &OutArray, bool InCullEmpty=true) const
FORCEINLINE bool FindLastChar(TCHAR InChar, int32 &Index) const
std::string ToString() const
Convert FString to std::string.
FString TrimQuotes(bool *bQuotesRemoved=nullptr) const
FORCEINLINE FString & operator+=(const TCHAR *Str)
void AppendInt(int32 InNum)
FORCEINLINE const TCHAR * operator*() const
FORCEINLINE friend FString operator/(FString &&Lhs, const TCHAR *Rhs)
FORCEINLINE friend FString operator/(FString &&Lhs, const FString &Rhs)
FString RightPad(int32 ChCount) const
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+(const FString &Lhs, CharType Rhs)
FORCEINLINE friend DataType::RangedForConstIteratorType end(const FString &Str)
void PathAppend(const TCHAR *Str, int32 StrLength)
FORCEINLINE bool Contains(const FString &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
FORCEINLINE FString(const CharType *Src, typename TEnableIf< TIsCharType< CharType >::Value >::Type *Dummy=nullptr)
FORCEINLINE FString RightChop(int32 Count) const
bool EndsWith(const FString &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
static FString ChrN(int32 NumCharacters, TCHAR Char)
static FORCEINLINE FString ConcatFStringToTCHARs(typename TIdentity< LhsType >::Type Lhs, const TCHAR *Rhs)
FORCEINLINE friend FString operator+(const TCHAR *Lhs, FString &&Rhs)
FORCEINLINE TConstIterator CreateConstIterator() const
bool StartsWith(const FString &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
FString ToUpper() const &
FString(const FString &)=default
static FString FormatAsNumber(int32 InNumber)
FORCEINLINE bool Equals(const FString &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
FORCEINLINE bool IsValidIndex(int32 Index) const
FORCEINLINE friend FString operator/(const FString &Lhs, const TCHAR *Rhs)
void TrimStartAndEndInline()
int32 ParseIntoArray(TArray< FString > &OutArray, const TCHAR *pchDelim, bool InCullEmpty=true) const
bool EndsWith(const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
FORCEINLINE FString(int32 InCount, const TCHAR *InSrc)
FORCEINLINE friend DataType::RangedForConstIteratorType begin(const FString &Str)
FORCEINLINE friend bool operator>(const FString &Lhs, const CharType *Rhs)
FString ReplaceCharWithEscapedChar(const TArray< TCHAR > *Chars=nullptr) const
static bool ToBlob(const FString &Source, uint8 *DestBuffer, const uint32 DestSize)
FORCEINLINE TCHAR & operator[](int32 Index)
FORCEINLINE void InsertAt(int32 Index, TCHAR Character)
FORCEINLINE friend bool operator>=(const CharType *Lhs, const FString &Rhs)
FORCEINLINE friend FString operator/(const TCHAR *Lhs, const FString &Rhs)
FORCEINLINE void AppendChars(const TCHAR *Array, int32 Count)
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+(FString &&Lhs, CharType Rhs)
FORCEINLINE void Shrink()
FORCEINLINE friend bool operator>(const CharType *Lhs, const FString &Rhs)
FORCEINLINE bool IsEmpty() const
FORCEINLINE FString Right(int32 Count) const
FORCEINLINE void InsertAt(int32 Index, const FString &Characters)
FORCEINLINE bool Contains(const TCHAR *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
FORCEINLINE friend bool operator>(const FString &Lhs, const FString &Rhs)
FORCEINLINE friend bool operator==(const CharType *Lhs, const FString &Rhs)
FORCEINLINE friend bool operator<(const FString &Lhs, const CharType *Rhs)
static FString Join(const TArray< T, Allocator > &Array, const TCHAR *Separator)
bool RemoveFromEnd(const FString &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
FORCEINLINE TEnableIf< TIsCharType< CharType >::Value, FString & >::Type operator+=(CharType InChar)
FORCEINLINE const TCHAR & operator[](int32 Index) const
FORCEINLINE friend bool operator<(const FString &Lhs, const FString &Rhs)
FORCEINLINE friend bool operator>=(const FString &Lhs, const FString &Rhs)
FString ToLower() const &
int32 ParseIntoArrayWS(TArray< FString > &OutArray, const TCHAR *pchExtraDelim=nullptr, bool InCullEmpty=true) const
bool Split(const FString &InS, FString *LeftS, FString *RightS, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
static FString Format(const T *format, Args &&... args)
Formats text using fmt::format.
FString LeftPad(int32 ChCount) const
FORCEINLINE int32 FindLastCharByPredicate(Predicate Pred) const
FORCEINLINE void Reset(int32 NewReservedSize=0)
FORCEINLINE void Empty(int32 Slack=0)
FORCEINLINE int32 Len() const
FORCEINLINE int32 FindLastCharByPredicate(Predicate Pred, int32 Count) const
void TrimToNullTerminator()
bool RemoveFromStart(const FString &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
FORCEINLINE FString & AppendChar(const TCHAR InChar)
FORCEINLINE friend bool operator>=(const FString &Lhs, const CharType *Rhs)
FORCEINLINE friend bool operator<=(const FString &Lhs, const FString &Rhs)
FORCEINLINE void CheckInvariants() const
FORCEINLINE friend FString operator+(FString &&Lhs, const TCHAR *Rhs)
FString ReplaceEscapedCharWithChar(const TArray< TCHAR > *Chars=nullptr) const
FORCEINLINE FString(const FString &Other, int32 ExtraSlack)
FORCEINLINE FString & operator/=(const TCHAR *Str)
FString & operator=(const FString &)=default
FString TrimStartAndEnd() const &
int32 GetAlignment() const
int32 AddMember(int32 MemberSize, int32 MemberAlignment)
FieldArray & operator=(const T &other)=delete
std::shared_ptr< spdlog::logger > logger_
Log & operator=(Log &&)=delete
static std::shared_ptr< spdlog::logger > & GetLog()
Log & operator=(const Log &)=delete
friend class FWeakReferencer
FORCEINLINE int32 CalculateSlackReserve(int32 NumElements, int32 NumBytesPerElement) const
ForAnyElementType(const ForAnyElementType &)
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FScriptContainerElement * Data
FORCEINLINE ~ForAnyElementType()
FORCEINLINE void MoveToEmpty(ForAnyElementType &Other)
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
FORCEINLINE FScriptContainerElement * GetAllocation() const
ForAnyElementType & operator=(const ForAnyElementType &)
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FORCEINLINE ElementType * GetAllocation() const
FORCEINLINE bool Find(const ElementType &Item, int32 &Index) const
void RemoveAtImpl(int32 Index, int32 Count, bool bAllowShrinking)
TArray & operator=(TArray &&Other)
TCheckedPointerIterator< const ElementType > RangedForConstIteratorType
int32 AddUniqueImpl(ArgsType &&Args)
TArray & operator=(std::initializer_list< InElementType > InitList)
void SetNumUninitialized(int32 NewNum, bool bAllowShrinking=true)
FORCEINLINE int32 Num() const
int32 FindLastByPredicate(Predicate Pred, int32 Count) const
TIterator CreateIterator()
int32 AddZeroed(int32 Count=1)
FORCEINLINE int32 Emplace(ArgsType &&... Args)
FORCEINLINE int32 Max() const
ElementAllocatorType AllocatorInstance
FORCENOINLINE void ResizeTo(int32 NewMax)
InElementType ElementType
int32 RemoveAll(const PREDICATE_CLASS &Predicate)
void SetNumZeroed(int32 NewNum, bool bAllowShrinking=true)
void InsertZeroed(int32 Index, int32 Count=1)
static FORCEINLINE TEnableIf<!UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopy(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax)
FORCEINLINE const ElementType & Last(int32 IndexFromTheEnd=0) const
TIndexedContainerIterator< TArray, ElementType, int32 > TIterator
FORCEINLINE bool operator!=(const TArray &OtherArray) const
TCheckedPointerIterator< ElementType > RangedForIteratorType
TArray & operator+=(TArray &&Other)
static FORCEINLINE TEnableIf< UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopy(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax)
void Init(const ElementType &Element, int32 Number)
FORCEINLINE friend RangedForIteratorType end(TArray &Array)
FORCEINLINE bool ContainsByPredicate(Predicate Pred) const
FORCEINLINE void CheckAddress(const ElementType *Addr) const
TIndexedContainerIterator< const TArray, const ElementType, int32 > TConstIterator
FORCEINLINE void CheckInvariants() const
FORCEINLINE TArray(const TArray &Other, int32 ExtraSlack)
FORCEINLINE void RemoveAt(int32 Index, CountType Count, bool bAllowShrinking=true)
void StableSort(const PREDICATE_CLASS &Predicate)
FORCEINLINE void Append(std::initializer_list< ElementType > InitList)
TArray & operator+=(const TArray &Other)
FORCEINLINE int32 Add(const ElementType &Item)
FORCEINLINE ElementType & Last(int32 IndexFromTheEnd=0)
FORCENOINLINE void ResizeGrow(int32 OldNum)
FORCEINLINE void EmplaceAt(int32 Index, ArgsType &&... Args)
FORCEINLINE const ElementType & operator[](int32 Index) const
TArray< ElementType > FilterByPredicate(Predicate Pred) const
FORCEINLINE friend RangedForIteratorType begin(TArray &Array)
void Append(TArray< OtherElementType, OtherAllocator > &&Source)
FORCENOINLINE void ResizeForCopy(int32 NewMax, int32 PrevMax)
FORCEINLINE void RemoveAtSwap(int32 Index)
int32 Insert(const ElementType *Ptr, int32 Count, int32 Index)
FORCEINLINE int32 GetSlack() const
FORCEINLINE int32 AddUnique(const ElementType &Item)
int32 Find(const ElementType &Item) const
void CopyToEmpty(const OtherElementType *OtherData, int32 OtherNum, int32 PrevMax, int32 ExtraSlack)
FORCEINLINE void Shrink()
void SetNumUnsafeInternal(int32 NewNum)
FORCEINLINE const ElementType & Top() const
static FORCEINLINE TEnableIf< UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopyWithSlack(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax, int32 ExtraSlack)
int32 RemoveSwap(const ElementType &Item)
int32 IndexOfByKey(const KeyType &Key) const
void Append(const TArray< OtherElementType, OtherAllocator > &Source)
FORCEINLINE TArray(const TArray &Other)
FORCEINLINE ElementType & Top()
FORCEINLINE friend RangedForConstIteratorType end(const TArray &Array)
TArray(std::initializer_list< InElementType > InitList)
FORCEINLINE bool FindLast(const ElementType &Item, int32 &Index) const
FORCEINLINE int32 AddUnique(ElementType &&Item)
FORCEINLINE friend RangedForConstIteratorType begin(const TArray &Array)
int32 Insert(const ElementType &Item, int32 Index)
FORCEINLINE uint32 GetTypeSize() const
TArray & operator+=(std::initializer_list< ElementType > InitList)
void Append(const ElementType *Ptr, int32 Count)
static FORCEINLINE TEnableIf<!UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopyWithSlack(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax, int32 ExtraSlack)
int32 Insert(ElementType &&Item, int32 Index)
FORCEINLINE TArray(TArray &&Other)
FORCENOINLINE void ResizeShrink()
FORCEINLINE void RangeCheck(int32 Index) const
void Reset(int32 NewSize=0)
bool Contains(const ComparisonType &Item) const
TArray(TArray< OtherElementType, Allocator > &&Other, int32 ExtraSlack)
FORCEINLINE void RemoveAt(int32 Index)
int32 RemoveSingle(const ElementType &Item)
int32 FindLast(const ElementType &Item) const
void RemoveAllSwap(const PREDICATE_CLASS &Predicate, bool bAllowShrinking=true)
FORCEINLINE ElementType & operator[](int32 Index)
TArray & operator=(const TArray &Other)
int32 Remove(const ElementType &Item)
bool operator==(const TArray &OtherArray) const
FORCEINLINE const ElementType * FindByPredicate(Predicate Pred) const
FORCEINLINE TArray(const ElementType *Ptr, int32 Count)
FORCEINLINE ElementType Pop(bool bAllowShrinking=true)
FORCEINLINE int32 FindLastByPredicate(Predicate Pred) const
void Empty(int32 Slack=0)
TChooseClass< Allocator::NeedsElementType, typenameAllocator::templateForElementType< ElementType >, typenameAllocator::ForAnyElementType >::Result ElementAllocatorType
void SetNum(int32 NewNum, bool bAllowShrinking=true)
FORCEINLINE const ElementType * FindByKey(const KeyType &Key) const
FORCEINLINE void Push(const ElementType &Item)
TConstIterator CreateConstIterator() const
FORCEINLINE void Reserve(int32 Number)
void InsertDefaulted(int32 Index, int32 Count=1)
FORCEINLINE int32 AddUninitialized(int32 Count=1)
int32 RemoveSingleSwap(const ElementType &Item, bool bAllowShrinking=true)
FORCEINLINE TArray(TArray< OtherElementType, OtherAllocator > &&Other)
FORCEINLINE ElementType * GetData() const
FORCEINLINE bool IsValidIndex(int32 Index) const
int32 Insert(std::initializer_list< ElementType > InitList, const int32 InIndex)
FORCEINLINE uint32 GetAllocatedSize(void) const
int32 Insert(const TArray< ElementType > &Items, const int32 InIndex)
FORCEINLINE int32 Add(ElementType &&Item)
FORCEINLINE void RemoveAtSwap(int32 Index, CountType Count, bool bAllowShrinking=true)
TArray & operator=(const TArray< ElementType, OtherAllocator > &Other)
ElementType * FindByPredicate(Predicate Pred)
FORCEINLINE TArray(const TArray< OtherElementType, OtherAllocator > &Other)
void InsertUninitialized(int32 Index, int32 Count=1)
ElementType * FindByKey(const KeyType &Key)
void Sort(const PREDICATE_CLASS &Predicate)
int32 AddDefaulted(int32 Count=1)
void RemoveAtSwapImpl(int32 Index, int32 Count=1, bool bAllowShrinking=true)
FORCEINLINE void Push(ElementType &&Item)
int32 IndexOfByPredicate(Predicate Pred) const
FORCEINLINE FConstIterator & operator++()
const TBitArray< Allocator > & Array
FORCEINLINE FConstIterator(const TBitArray< Allocator > &InArray, int32 StartIndex=0)
FORCEINLINE int32 GetIndex() const
FORCEINLINE operator bool() const
FORCEINLINE bool operator!() const
FORCEINLINE FConstBitReference GetValue() const
const TBitArray< Allocator > & Array
FORCEINLINE operator bool() const
FORCEINLINE FConstReverseIterator(const TBitArray< Allocator > &InArray)
FORCEINLINE int32 GetIndex() const
FORCEINLINE FConstBitReference GetValue() const
FORCEINLINE bool operator!() const
FORCEINLINE FConstReverseIterator & operator++()
FORCEINLINE FIterator(TBitArray< Allocator > &InArray, int32 StartIndex=0)
FORCEINLINE FBitReference GetValue() const
FORCEINLINE FIterator & operator++()
FORCEINLINE int32 GetIndex() const
TBitArray< Allocator > & Array
FORCEINLINE operator bool() const
FORCEINLINE bool operator!() const
FORCEINLINE uint32 * GetData()
int32 Add(const bool Value)
FORCENOINLINE void SetRange(int32 Index, int32 Num, bool Value)
void Empty(int32 ExpectedNumBits=0)
FORCEINLINE FBitReference AccessCorrespondingBit(const FRelativeBitReference &RelativeReference)
int32 Find(bool bValue) const
FORCENOINLINE void Realloc(int32 PreviousNumBits)
friend class TConstSetBitIterator
FORCEINLINE int32 Num() const
uint32 GetAllocatedSize(void) const
FORCEINLINE TBitArray(TBitArray &&Other)
FORCEINLINE const FConstBitReference operator[](int32 Index) const
FORCEINLINE const FConstBitReference AccessCorrespondingBit(const FRelativeBitReference &RelativeReference) const
friend class TConstDualSetBitIterator
FORCEINLINE bool IsValidIndex(int32 InIndex) const
Allocator::template ForElementType< uint32 > AllocatorType
FORCEINLINE TBitArray & operator=(const TBitArray &Copy)
void RemoveAtSwap(int32 BaseIndex, int32 NumBitsToRemove=1)
FORCEINLINE bool Contains(bool bValue) const
static FORCEINLINE TEnableIf< TContainerTraits< BitArrayType >::MoveWillEmptyContainer >::Type MoveOrCopy(BitArrayType &ToArray, BitArrayType &FromArray)
void Init(bool Value, int32 InNumBits)
int32 FindAndSetFirstZeroBit()
AllocatorType AllocatorInstance
static FORCEINLINE TEnableIf<!TContainerTraits< BitArrayType >::MoveWillEmptyContainer >::Type MoveOrCopy(BitArrayType &ToArray, BitArrayType &FromArray)
FORCEINLINE TBitArray & operator=(TBitArray &&Other)
FORCEINLINE TBitArray(const TBitArray &Copy)
FORCEINLINE FBitReference operator[](int32 Index)
void RemoveAt(int32 BaseIndex, int32 NumBitsToRemove=1)
TBitArray(const bool Value=false, const int32 InNumBits=0)
FORCEINLINE const uint32 * GetData() const
FORCEINLINE int32 GetIndex() const
FORCEINLINE TConstDualSetBitIterator & operator++()
const TBitArray< Allocator > & ArrayA
const TBitArray< OtherAllocator > & ArrayB
FORCEINLINE TConstDualSetBitIterator(const TBitArray< Allocator > &InArrayA, const TBitArray< OtherAllocator > &InArrayB, int32 StartIndex=0)
FORCEINLINE operator bool() const
FORCEINLINE bool operator!() const
FORCEINLINE friend bool operator==(const TConstSetBitIterator &Lhs, const TConstSetBitIterator &Rhs)
FORCEINLINE TConstSetBitIterator & operator++()
FORCEINLINE bool operator!() const
FORCEINLINE friend bool operator!=(const TConstSetBitIterator &Lhs, const TConstSetBitIterator &Rhs)
TConstSetBitIterator(const TBitArray< Allocator > &InArray, int32 StartIndex=0)
FORCEINLINE operator bool() const
FORCEINLINE int32 GetIndex() const
const TBitArray< Allocator > & Array
FORCEINLINE TEnumAsByte(TEnum InValue)
FORCEINLINE TEnumAsByte(int32 InValue)
FORCEINLINE TEnumAsByte & operator=(TEnum InValue)
FORCEINLINE TEnumAsByte(const TEnumAsByte &InValue)
FORCEINLINE TEnumAsByte(uint8 InValue)
bool operator==(TEnum InValue) const
FORCEINLINE TEnumAsByte()
TEnumAsByte_EnumClass< TIsEnumClass< TEnum >::Value > Check
FORCEINLINE TEnumAsByte & operator=(TEnumAsByte InValue)
FORCEINLINE friend uint32 GetTypeHash(const TEnumAsByte &Enum)
bool operator==(TEnumAsByte InValue) const
ForElementType & operator=(const ForElementType &)
TTypeCompatibleBytes< ElementType > InlineData[NumInlineElements]
FORCEINLINE ElementType * GetAllocation() const
FORCEINLINE void MoveToEmpty(ForElementType &Other)
FORCEINLINE int32 CalculateSlackReserve(int32 NumElements, SIZE_T NumBytesPerElement) const
ElementType * GetInlineElements() const
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
ForElementType(const ForElementType &)
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
TFunction(const TFunction &Other)
TFunction(FunctorType &&InFunc)
UE4Function_Private::FFunctionStorage Storage
FORCEINLINE operator bool() const
TFunction(TYPE_OF_NULLPTR=nullptr)
UE4Function_Private::TFunctionRefBase< TFunction< FuncType >, FuncType > Super
TFunction & operator=(TYPE_OF_NULLPTR)
TFunction(TFunction &&Other)
TFunctionRef(const FunctorType &Functor)
void CopyAndReseat(const TFunctionRef &Other, void *Functor)
void Set(FunctorType *Functor)
TFunctionRef(FunctorType &Functor)
UE4Function_Private::TFunctionRefBase< TFunctionRef< FuncType >, FuncType > Super
TFunctionRef & operator=(const TFunctionRef &) const =delete
TFunctionRef(FunctionType *Function)
TFunctionRef(const TFunctionRef &Other)
FORCEINLINE friend bool operator!=(const TIndexedContainerIterator &Lhs, const TIndexedContainerIterator &Rhs)
ElementType * operator->() const
FORCEINLINE friend bool operator==(const TIndexedContainerIterator &Lhs, const TIndexedContainerIterator &Rhs)
IndexType GetIndex() const
TIndexedContainerIterator operator+(int32 Offset) const
TIndexedContainerIterator operator++(int)
TIndexedContainerIterator & operator--()
TIndexedContainerIterator & operator-=(int32 Offset)
FORCEINLINE operator bool() const
TIndexedContainerIterator(ContainerType &InContainer, IndexType StartIndex=0)
ContainerType & Container
TIndexedContainerIterator & operator++()
TIndexedContainerIterator & operator+=(int32 Offset)
TIndexedContainerIterator operator--(int)
TIndexedContainerIterator operator-(int32 Offset) const
ElementType & operator*() const
FORCEINLINE int32 CalculateSlackReserve(int32 NumElements, SIZE_T NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FORCEINLINE ElementType * GetAllocation() const
TTypeCompatibleBytes< ElementType > InlineData[NumInlineElements]
ForElementType(const ForElementType &)
FORCEINLINE void MoveToEmpty(ForElementType &Other)
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
ForElementType & operator=(const ForElementType &)
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
SecondaryAllocator::template ForElementType< ElementType > SecondaryData
ElementType * GetInlineElements() const
TInlineSparseArrayAllocator< NumInlineElements, typename SecondaryAllocator::SparseArrayAllocator > SparseArrayAllocator
static FORCEINLINE uint32 GetNumberOfHashBuckets(uint32 NumHashedElements)
TInlineAllocator< NumInlineHashBuckets, typename SecondaryAllocator::HashAllocator > HashAllocator
TInlineAllocator< NumInlineElements, typename SecondaryAllocator::ElementAllocator > ElementAllocator
TInlineAllocator< InlineBitArrayDWORDs, typename SecondaryAllocator::BitArrayAllocator > BitArrayAllocator
static void Rotate(T *First, const int32 From, const int32 To, const int32 Amount)
TRValueToLValueReference< KeyInitType >::Type Key
FORCEINLINE TKeyInitializer(KeyInitType InKey)
operator TPair< KeyType, ValueType >() const
TChooseClass< bConst, constKeyType, KeyType >::Result ItKeyType
TChooseClass< bConst, constTMapBase, TMapBase >::Result MapType
FORCEINLINE friend bool operator==(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
FORCEINLINE TBaseIterator(const PairItType &InElementIt)
FORCEINLINE bool operator!() const
FORCEINLINE ItKeyType & Key() const
FORCEINLINE PairType & operator*() const
FORCEINLINE friend bool operator!=(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
FORCEINLINE TBaseIterator & operator++()
FORCEINLINE ItValueType & Value() const
TChooseClass< bConst, typenameTChooseClass< bRangedFor, typenameElementSetType::TRangedForConstIterator, typenameElementSetType::TConstIterator >::Result, typenameTChooseClass< bRangedFor, typenameElementSetType::TRangedForIterator, typenameElementSetType::TIterator >::Result >::Result PairItType
FORCEINLINE PairType * operator->() const
FORCEINLINE operator bool() const
TChooseClass< bConst, constValueType, ValueType >::Result ItValueType
TChooseClass< bConst, consttypenameElementSetType::ElementType, typenameElementSetType::ElementType >::Result PairType
TChooseClass< bConst, constValueType, ValueType >::Result ItValueType
FORCEINLINE TBaseKeyIterator(const SetItType &InSetIt)
FORCEINLINE operator bool() const
TChooseClass< bConst, constKeyType, KeyType >::Result ItKeyType
FORCEINLINE ItKeyType & Key() const
FORCEINLINE bool operator!() const
FORCEINLINE ItValueType & Value() const
FORCEINLINE TBaseKeyIterator & operator++()
TChooseClass< bConst, typenameElementSetType::TConstKeyIterator, typenameElementSetType::TKeyIterator >::Result SetItType
FORCEINLINE TConstIterator(const TMapBase &InMap)
FORCEINLINE TConstKeyIterator(const TMapBase &InMap, KeyInitType InKey)
bool bRequiresRehashOnRemoval
bool bElementsHaveBeenRemoved
FORCEINLINE void RemoveCurrent()
FORCEINLINE TIterator(TMapBase &InMap, bool bInRequiresRehashOnRemoval=false)
FORCEINLINE void RemoveCurrent()
FORCEINLINE TKeyIterator(TMapBase &InMap, KeyInitType InKey)
FORCEINLINE ValueType & FindOrAddImpl(ArgType &&Arg)
FORCEINLINE friend TRangedForIterator end(TMapBase &MapBase)
FORCEINLINE bool Contains(KeyConstPointerType Key) const
TSet< ElementType, KeyFuncs, SetAllocator > ElementSetType
const KeyType * FindKey(ValueInitType Value) const
FORCEINLINE ValueType * Find(KeyConstPointerType Key)
FORCEINLINE ValueType & Add(KeyType &&InKey, ValueType &&InValue)
void GenerateValueArray(TArray< ValueType, Allocator > &OutArray) const
FORCEINLINE ValueType FindRef(KeyConstPointerType Key) const
void GenerateKeyArray(TArray< KeyType, Allocator > &OutArray) const
FORCEINLINE const ValueType * Find(KeyConstPointerType Key) const
FORCEINLINE ValueType & Add(const KeyType &InKey)
friend bool LegacyCompareEqual(const TMapBase &A, const TMapBase &B)
FORCEINLINE TIterator CreateIterator()
FORCEINLINE friend TRangedForConstIterator end(const TMapBase &MapBase)
FORCEINLINE void Shrink()
FORCEINLINE void Empty(int32 ExpectedNumElements=0)
FORCEINLINE void Reserve(int32 Number)
TMapBase & operator=(const TMapBase &)=default
FORCEINLINE TConstKeyIterator CreateConstKeyIterator(KeyInitType InKey) const
TMapBase(const TMapBase &)=default
TMapBase(TMapBase &&)=default
TTypeTraits< KeyType >::ConstInitType KeyInitType
FORCEINLINE ValueType & FindOrAdd(KeyType &&Key)
FORCEINLINE TConstIterator CreateConstIterator() const
FORCEINLINE int32 Remove(KeyConstPointerType InKey)
TTypeTraits< ValueType >::ConstInitType ValueInitType
FORCEINLINE ValueType & Add(KeyType &&InKey)
TTypeTraits< KeyType >::ConstPointerType KeyConstPointerType
TMapBase & operator=(const TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
FORCEINLINE TKeyIterator CreateKeyIterator(KeyInitType InKey)
ValueType & Emplace(InitKeyType &&InKey)
int32 GetKeys(TArray< KeyType, Allocator > &OutKeys) const
TMapBase & operator=(TMapBase &&)=default
TMapBase(TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
FORCEINLINE ValueType & Add(KeyType &&InKey, const ValueType &InValue)
FORCEINLINE friend TRangedForIterator begin(TMapBase &MapBase)
bool OrderIndependentCompareEqual(const TMapBase &Other) const
FORCEINLINE const ValueType & FindChecked(KeyConstPointerType Key) const
FORCEINLINE int32 Num() const
FORCEINLINE void CompactStable()
FORCEINLINE ValueType & Add(const KeyType &InKey, const ValueType &InValue)
FORCEINLINE friend TRangedForConstIterator begin(const TMapBase &MapBase)
FORCEINLINE void Compact()
FORCEINLINE ValueType & FindOrAdd(const KeyType &Key)
TPair< KeyType, ValueType > ElementType
FORCEINLINE ValueType & FindChecked(KeyConstPointerType Key)
FORCEINLINE ValueType & Add(const KeyType &InKey, ValueType &&InValue)
ValueType & Emplace(InitKeyType &&InKey, InitValueType &&InValue)
TMapBase(const TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
FORCEINLINE uint32 GetAllocatedSize() const
TMapBase & operator=(TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
friend bool LegacyCompareNotEqual(const TMapBase &A, const TMapBase &B)
FORCEINLINE ValueType & operator[](KeyConstPointerType Key)
FORCEINLINE bool RemoveAndCopyValue(KeyInitType Key, ValueType &OutRemovedValue)
FORCEINLINE const ValueType & operator[](KeyConstPointerType Key) const
TMap(const TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > Super
FORCEINLINE ValueType FindAndRemoveChecked(KeyConstPointerType Key)
void Append(const TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &OtherMap)
TMap & operator=(const TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
void Append(TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&OtherMap)
TMap & operator=(const TMap &)=default
TMap & operator=(TMap &&)=default
TMap & operator=(TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
TMap(const TMap &)=default
TMap(TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Super::KeyInitType KeyInitType
Super::KeyConstPointerType KeyConstPointerType
static void Sort(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
Super::KeyInitType KeyInitType
TMultiMap(TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Super::ValueInitType ValueInitType
Super::KeyConstPointerType KeyConstPointerType
int32 Num(KeyInitType Key) const
void MultiFindPointer(KeyInitType Key, TArray< const ValueType *, Allocator > &OutValues, bool bMaintainOrder=false) const
int32 RemoveSingle(KeyInitType InKey, ValueInitType InValue)
TMultiMap & operator=(TMultiMap &&)=default
void MultiFindPointer(KeyInitType Key, TArray< ValueType *, Allocator > &OutValues, bool bMaintainOrder=false)
ValueType * FindPair(KeyInitType Key, ValueInitType Value)
TMultiMap(const TMultiMap &)=default
FORCEINLINE ValueType & AddUnique(KeyType &&InKey, ValueType &&InValue)
TMultiMap & operator=(TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
TMultiMap(const TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
FORCEINLINE int32 Num() const
int32 Remove(KeyInitType InKey, ValueInitType InValue)
TMultiMap & operator=(const TMultiMap &)=default
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > Super
FORCEINLINE const ValueType * FindPair(KeyInitType Key, ValueInitType Value) const
TMultiMap & operator=(const TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
void MultiFind(KeyInitType Key, TArray< ValueType, Allocator > &OutValues, bool bMaintainOrder=false) const
FORCEINLINE ValueType & AddUnique(const KeyType &InKey, const ValueType &InValue)
FORCEINLINE int32 Remove(KeyConstPointerType InKey)
FORCEINLINE ValueType & AddUnique(KeyType &&InKey, const ValueType &InValue)
ValueType & EmplaceUnique(InitKeyType &&InKey, InitValueType &&InValue)
FORCEINLINE ValueType & AddUnique(const KeyType &InKey, ValueType &&InValue)
TMultiMap(TMultiMap &&)=default
FORCEINLINE TPairInitializer(KeyInitType InKey, ValueInitType InValue)
operator TPair< KeyType, ValueType >() const
TRValueToLValueReference< ValueInitType >::Type Value
TRValueToLValueReference< KeyInitType >::Type Key
FORCEINLINE TPairInitializer(const TPair< KeyType, ValueType > &Pair)
FORCEINLINE bool operator()(T &&A, T &&B) const
TReversePredicate(const PredicateType &InPredicate)
const PredicateType & Predicate
static void Merge(T *First, const int32 Mid, const int32 Num, const PREDICATE_CLASS &Predicate)
FORCEINLINE FElementCompareClass(const PREDICATE_CLASS &InPredicate)
FORCEINLINE bool operator()(const SetElementType &A, const SetElementType &B) const
TDereferenceWrapper< ElementType, PREDICATE_CLASS > Predicate
TChooseClass< bConst, constElementType, ElementType >::Result ItElementType
FORCEINLINE ItElementType & operator*() const
FORCEINLINE friend bool operator==(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
TChooseClass< bConst, typenameTChooseClass< bRangedFor, typenameElementArrayType::TRangedForConstIterator, typenameElementArrayType::TConstIterator >::Result, typenameTChooseClass< bRangedFor, typenameElementArrayType::TRangedForIterator, typenameElementArrayType::TIterator >::Result >::Result ElementItType
FORCEINLINE TBaseIterator & operator++()
FORCEINLINE friend bool operator!=(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
FORCEINLINE FSetElementId GetId() const
FORCEINLINE TBaseIterator(const ElementItType &InElementIt)
FORCEINLINE ItElementType * operator->() const
FORCEINLINE operator bool() const
FORCEINLINE bool operator!() const
FORCEINLINE ItElementType & operator*() const
FORCEINLINE ItElementType * operator->() const
FORCEINLINE TBaseKeyIterator(SetType &InSet, KeyInitType InKey)
TTypeTraits< typenameKeyFuncs::KeyType >::ConstPointerType Key
TChooseClass< bConst, constTSet, TSet >::Result SetType
FORCEINLINE operator bool() const
FORCEINLINE TBaseKeyIterator & operator++()
TChooseClass< bConst, constElementType, ElementType >::Result ItElementType
FORCEINLINE bool operator!() const
FORCEINLINE TConstIterator(const TSet &InSet)
FORCEINLINE TConstKeyIterator(const TSet &InSet, KeyInitType InKey)
FORCEINLINE TIterator(TSet &InSet)
FORCEINLINE void RemoveCurrent()
FORCEINLINE TKeyIterator(TSet &InSet, KeyInitType InKey)
FORCEINLINE void RemoveCurrent()
static FORCEINLINE uint32 GetNumberOfHashBuckets(uint32 NumHashedElements)
InHashAllocator HashAllocator
InSparseArrayAllocator SparseArrayAllocator
FORCEINLINE TSetElement(const TSetElement &Rhs)
FORCEINLINE TSetElement & operator=(const TSetElement &Rhs)
InElementType ElementType
FORCEINLINE bool operator!=(const TSetElement &Other) const
FORCEINLINE TSetElement()
FORCEINLINE TSetElement & operator=(TSetElement &&Rhs)
FORCEINLINE TSetElement(TSetElement &&Rhs)
FORCEINLINE bool operator==(const TSetElement &Other) const
FORCEINLINE ElementType * Find(KeyInitType Key)
FORCEINLINE FSetElementId Add(const InElementType &InElement, bool *bIsAlreadyInSetPtr=NULL)
FORCEINLINE friend TRangedForConstIterator end(const TSet &Set)
void Append(const TSet< ElementType, KeyFuncs, OtherAllocator > &OtherSet)
FORCEINLINE int32 Num() const
TSet & operator=(const TSet< ElementType, KeyFuncs, OtherAllocator > &Other)
TSet & operator=(TSet &&Other)
bool VerifyHashElementsKey(KeyInitType Key)
KeyFuncs::KeyInitType KeyInitType
static FORCEINLINE TEnableIf< TContainerTraits< SetType >::MoveWillEmptyContainer >::Type MoveOrCopy(SetType &ToSet, SetType &FromSet)
FORCEINLINE void Shrink()
TSet & operator=(TSet< ElementType, KeyFuncs, OtherAllocator > &&Other)
FORCEINLINE const ElementType & operator[](FSetElementId Id) const
TSet(TSet< ElementType, KeyFuncs, OtherAllocator > &&Other)
FORCEINLINE TIterator CreateIterator()
friend bool LegacyCompareNotEqual(const TSet &A, const TSet &B)
TSparseArray< SetElementType, typename Allocator::SparseArrayAllocator > ElementArrayType
FORCEINLINE void Compact()
FORCEINLINE FSetElementId Add(InElementType &&InElement, bool *bIsAlreadyInSetPtr=NULL)
FORCEINLINE uint32 GetAllocatedSize(void) const
FORCEINLINE void CheckAddress(const ElementType *Addr) const
FORCEINLINE void HashElement(FSetElementId ElementId, const SetElementType &Element) const
FORCEINLINE SetElementType & GetInternalElement(FSetElementId Id)
FORCEINLINE friend TRangedForIterator begin(TSet &Set)
FORCEINLINE TSet(const TSet &Copy)
InElementType ElementType
FORCEINLINE bool IsValidId(FSetElementId Id) const
FORCEINLINE TSet(TArray< ElementType > &&InArray)
void Append(const TArray< ElementType, ArrayAllocator > &InElements)
TSet Intersect(const TSet &OtherSet) const
FSetElementId FindId(KeyInitType Key) const
FORCEINLINE friend TRangedForConstIterator begin(const TSet &Set)
TSet & operator=(const TSet &Copy)
FSetElementId Emplace(ArgsType &&Args, bool *bIsAlreadyInSetPtr=NULL)
FORCEINLINE ElementType & operator[](FSetElementId Id)
void Append(TSet< ElementType, KeyFuncs, OtherAllocator > &&OtherSet)
bool ConditionalRehash(int32 NumHashedElements, bool bAllowShrinking=false) const
FORCEINLINE const SetElementType & GetInternalElement(FSetElementId Id) const
TSet Difference(const TSet &OtherSet) const
KeyFuncs::ElementInitType ElementInitType
TSet(const TSet< ElementType, KeyFuncs, OtherAllocator > &Other)
FORCEINLINE FSetElementId & GetTypedHash(int32 HashIndex) const
FORCEINLINE void CompactStable()
Allocator::HashAllocator::template ForElementType< FSetElementId > HashType
void Append(TArray< ElementType, ArrayAllocator > &&InElements)
static FORCEINLINE FSetElementId IndexToId(int32 Index)
void Sort(const PREDICATE_CLASS &Predicate)
friend bool LegacyCompareEqual(const TSet &A, const TSet &B)
FORCEINLINE const ElementType * Find(KeyInitType Key) const
FORCEINLINE void Reserve(int32 Number)
TSet Union(const TSet &OtherSet) const
void Remove(FSetElementId ElementId)
static FORCEINLINE TEnableIf<!TContainerTraits< SetType >::MoveWillEmptyContainer >::Type MoveOrCopy(SetType &ToSet, SetType &FromSet)
TSetElement< InElementType > SetElementType
FORCEINLINE friend TRangedForIterator end(TSet &Set)
TArray< ElementType > Array() const
ElementArrayType Elements
FORCEINLINE TSet(const TArray< ElementType > &InArray)
FORCEINLINE TConstIterator CreateConstIterator() const
bool Includes(const TSet< ElementType, KeyFuncs, Allocator > &OtherSet) const
void Empty(int32 ExpectedNumElements=0)
FORCEINLINE bool Contains(KeyInitType Key) const
int32 Remove(KeyInitType Key)
FORCEINLINE void UpdateWeakReferenceInternal(TSharedRef< SharedRefType, Mode > const *InSharedRef, OtherType *InObject) const
TSharedRef< ObjectType, Mode > AsShared()
FORCEINLINE TSharedFromThis & operator=(TSharedFromThis const &)
static FORCEINLINE TSharedRef< OtherType const, Mode > SharedThis(const OtherType *ThisPtr)
static FORCEINLINE TSharedRef< OtherType, Mode > SharedThis(OtherType *ThisPtr)
TWeakPtr< ObjectType, Mode > WeakThis
TSharedFromThis(TSharedFromThis const &)
FORCEINLINE void UpdateWeakReferenceInternal(TSharedPtr< SharedPtrType, Mode > const *InSharedPtr, OtherType *InObject) const
TSharedRef< ObjectType const, Mode > AsShared() const
FORCEINLINE bool DoesSharedInstanceExist() const
FORCEINLINE const int32 GetSharedReferenceCount() const
FORCEINLINE ObjectType * operator->() const
FORCEINLINE TSharedPtr(OtherType *InObject, DeleterType &&InDeleter)
SharedPointerInternals::FSharedReferencer< Mode > SharedReferenceCount
FORCEINLINE FMakeReferenceTo< ObjectType >::Type operator*() const
FORCEINLINE TSharedPtr(OtherType *InObject)
FORCEINLINE TSharedPtr(SharedPointerInternals::FNullTag *=nullptr)
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr)
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr, SharedPointerInternals::FStaticCastTag)
FORCEINLINE TSharedPtr & operator=(SharedPointerInternals::FNullTag *)
FORCEINLINE const bool IsValid() const
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > &&OtherSharedPtr, ObjectType *InObject)
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &OtherSharedPtr, ObjectType *InObject)
friend uint32 GetTypeHash(const TSharedPtr< ObjectType, Mode > &InSharedPtr)
FORCEINLINE const bool IsUnique() const
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr, SharedPointerInternals::FConstCastTag)
FORCEINLINE TSharedPtr(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE TSharedPtr & operator=(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE TSharedPtr & operator=(TSharedPtr &&InSharedPtr)
FORCEINLINE TSharedPtr(TSharedPtr &&InSharedPtr)
FORCEINLINE TSharedRef< ObjectType, Mode > ToSharedRef() const
FORCEINLINE TSharedPtr(TSharedRef< OtherType, Mode > const &OtherSharedRef, ObjectType *InObject)
FORCEINLINE TSharedPtr(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE TSharedPtr(TSharedPtr const &InSharedPtr)
FORCEINLINE ObjectType * Get() const
FORCEINLINE TSharedPtr & operator=(TSharedPtr const &InSharedPtr)
FORCEINLINE TSharedPtr(TWeakPtr< OtherType, Mode > const &InWeakPtr)
FORCEINLINE TSharedRef & operator=(TSharedRef &&InSharedRef)
FORCEINLINE TSharedRef(TSharedPtr< OtherType, Mode > &&InSharedPtr)
FORCEINLINE ObjectType & Get() const
void Init(OtherType *InObject)
FORCEINLINE ObjectType * operator->() const
FORCEINLINE const bool IsValid() const
FORCEINLINE TSharedRef(TSharedRef &&InSharedRef)
FORCEINLINE TSharedRef & operator=(TSharedRef const &InSharedRef)
FORCEINLINE TSharedRef(OtherType *InObject, DeleterType &&InDeleter)
FORCEINLINE TSharedRef(TSharedPtr< OtherType, Mode > const &InSharedPtr)
FORCEINLINE const bool IsUnique() const
FORCEINLINE TSharedRef(TSharedRef const &InSharedRef)
FORCEINLINE ObjectType & operator*() const
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &InSharedRef, SharedPointerInternals::FConstCastTag)
FORCEINLINE TSharedRef(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE const int32 GetSharedReferenceCount() const
FORCEINLINE TSharedRef(OtherType *InObject)
SharedPointerInternals::FSharedReferencer< Mode > SharedReferenceCount
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &OtherSharedRef, ObjectType *InObject)
friend uint32 GetTypeHash(const TSharedRef< ObjectType, Mode > &InSharedRef)
FORCEINLINE TSharedRef & operator=(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &InSharedRef, SharedPointerInternals::FStaticCastTag)
FORCEINLINE TSharedRef(ObjectType *InObject, SharedPointerInternals::FReferenceControllerBase *InSharedReferenceCount)
TDereferenceWrapper< KeyType, PREDICATE_CLASS > Predicate
FORCEINLINE FKeyComparisonClass(const PREDICATE_CLASS &InPredicate)
FORCEINLINE bool operator()(const typename Super::ElementType &A, const typename Super::ElementType &B) const
FORCEINLINE FValueComparisonClass(const PREDICATE_CLASS &InPredicate)
TDereferenceWrapper< ValueType, PREDICATE_CLASS > Predicate
FORCEINLINE bool operator()(const typename Super::ElementType &A, const typename Super::ElementType &B) const
TSortableMapBase & operator=(TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
TSortableMapBase & operator=(TSortableMapBase &&)=default
FORCEINLINE void ValueSort(const PREDICATE_CLASS &Predicate)
TSortableMapBase(TSortableMapBase &&)=default
TSortableMapBase(const TSortableMapBase &)=default
TSortableMapBase(TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
TSortableMapBase()=default
TSortableMapBase & operator=(const TSortableMapBase &)=default
FORCEINLINE void KeySort(const PREDICATE_CLASS &Predicate)
TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > Super
TSortableMapBase & operator=(const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
TSortableMapBase(const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
FElementCompareClass(const PREDICATE_CLASS &InPredicate)
const PREDICATE_CLASS & Predicate
bool operator()(const FElementOrFreeListLink &A, const FElementOrFreeListLink &B) const
FORCEINLINE ItElementType & operator*() const
FORCEINLINE friend bool operator==(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
FORCEINLINE bool operator!() const
FORCEINLINE TBaseIterator & operator++()
FORCEINLINE int32 GetIndex() const
TChooseClass< bConst, constTSparseArray, TSparseArray >::Result ArrayType
FORCEINLINE friend bool operator!=(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
FORCEINLINE const FRelativeBitReference & GetRelativeBitReference() const
TConstSetBitIterator< typename Allocator::BitArrayAllocator > BitArrayItType
FORCEINLINE ItElementType * operator->() const
FORCEINLINE operator bool() const
TBaseIterator(ArrayType &InArray, const BitArrayItType &InBitArrayIt)
TChooseClass< bConst, constElementType, ElementType >::Result ItElementType
BitArrayItType BitArrayIt
TConstIterator(const TSparseArray &InArray, const typename TBaseIterator< true >::BitArrayItType &InBitArrayIt)
TConstIterator(const TSparseArray &InArray)
FORCEINLINE const ElementType & operator*() const
TConstSubsetIterator(const TSparseArray &InArray, const TBitArray< SubsetAllocator > &InBitArray)
FORCEINLINE const ElementType * operator->() const
const TSparseArray & Array
FORCEINLINE operator bool() const
FORCEINLINE TConstSubsetIterator & operator++()
TConstDualSetBitIterator< typename Allocator::BitArrayAllocator, SubsetAllocator > BitArrayIt
FORCEINLINE const FRelativeBitReference & GetRelativeBitReference() const
FORCEINLINE bool operator!() const
FORCEINLINE int32 GetIndex() const
TIterator(TSparseArray &InArray, const typename TBaseIterator< false >::BitArrayItType &InBitArrayIt)
TIterator(TSparseArray &InArray)
friend FORCEINLINE bool operator!=(const TRangedForConstIterator &Lhs, const TRangedForConstIterator &Rhs)
TRangedForConstIterator(const TSparseArray &InArray, const typename TBaseIterator< true >::BitArrayItType &InBitArrayIt)
TRangedForIterator(TSparseArray &InArray, const typename TBaseIterator< false >::BitArrayItType &InBitArrayIt)
friend FORCEINLINE bool operator!=(const TRangedForIterator &Lhs, const TRangedForIterator &Rhs)
InBitArrayAllocator BitArrayAllocator
InElementAllocator ElementAllocator
void RemoveAt(int32 Index, int32 Count=1)
TSparseArrayElementOrFreeListLink< TAlignedBytes< sizeof(ElementType), alignof(ElementType)> > FElementOrFreeListLink
FSparseArrayAllocationInfo AllocateIndex(int32 Index)
AllocationBitArrayType AllocationFlags
TSparseArray(const TSparseArray &InCopy)
void RemoveAtUninitialized(int32 Index, int32 Count=1)
TIterator CreateIterator()
const FElementOrFreeListLink & GetData(int32 Index) const
uint32 GetAllocatedSize(void) const
TSparseArray & operator+=(const TArray< ElementType > &OtherArray)
ElementType & operator[](int32 Index)
TSparseArray & operator=(const TSparseArray &InCopy)
static FORCEINLINE TEnableIf<!TContainerTraits< SparseArrayType >::MoveWillEmptyContainer >::Type MoveOrCopy(SparseArrayType &ToArray, SparseArrayType &FromArray)
TSparseArray(TSparseArray &&InCopy)
TBitArray< typename Allocator::BitArrayAllocator > AllocationBitArrayType
friend bool operator!=(const TSparseArray &A, const TSparseArray &B)
FORCEINLINE void CheckAddress(const ElementType *Addr) const
int32 Add(typename TTypeTraits< ElementType >::ConstInitType Element)
const ElementType & operator[](int32 Index) const
static FORCEINLINE TEnableIf< TContainerTraits< SparseArrayType >::MoveWillEmptyContainer >::Type MoveOrCopy(SparseArrayType &ToArray, SparseArrayType &FromArray)
FORCEINLINE friend TRangedForConstIterator end(const TSparseArray &Array)
friend bool operator==(const TSparseArray &A, const TSparseArray &B)
void Reserve(int32 ExpectedNumElements)
FElementOrFreeListLink & GetData(int32 Index)
TSparseArray & operator+=(const TSparseArray &OtherArray)
TArray< FElementOrFreeListLink, typename Allocator::ElementAllocator > DataType
TConstIterator CreateConstIterator() const
TSparseArray & operator=(TSparseArray &&InCopy)
FORCEINLINE friend TRangedForConstIterator begin(const TSparseArray &Array)
FORCEINLINE friend TRangedForIterator end(TSparseArray &Array)
FSparseArrayAllocationInfo InsertUninitialized(int32 Index)
int32 GetMaxIndex() const
bool IsAllocated(int32 Index) const
void Empty(int32 ExpectedNumElements=0)
FORCEINLINE friend TRangedForIterator begin(TSparseArray &Array)
void Insert(int32 Index, typename TTypeTraits< ElementType >::ConstInitType Element)
FSparseArrayAllocationInfo AddUninitialized()
friend uint32 GetTypeHash(const TWeakPtr< ObjectType, Mode > &InWeakPtr)
FORCEINLINE TSharedPtr< ObjectType, Mode > Pin() const
FORCEINLINE const bool IsValid() const
SharedPointerInternals::FWeakReferencer< Mode > WeakReferenceCount
FORCEINLINE TWeakPtr & operator=(TWeakPtr< OtherType, Mode > const &InWeakPtr)
FORCEINLINE TWeakPtr(TWeakPtr< OtherType, Mode > const &InWeakPtr)
FORCEINLINE TWeakPtr(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE TWeakPtr & operator=(TWeakPtr< OtherType, Mode > &&InWeakPtr)
FORCEINLINE TWeakPtr & operator=(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE TWeakPtr(TWeakPtr< OtherType, Mode > &&InWeakPtr)
FORCEINLINE TWeakPtr & operator=(TWeakPtr &&InWeakPtr)
FORCEINLINE TWeakPtr(TWeakPtr &&InWeakPtr)
FORCEINLINE TWeakPtr & operator=(TSharedPtr< OtherType, Mode > const &InSharedPtr)
FORCEINLINE TWeakPtr(TWeakPtr const &InWeakPtr)
FORCEINLINE bool HasSameObject(const void *InOtherPtr) const
FORCEINLINE TWeakPtr(SharedPointerInternals::FNullTag *=nullptr)
FORCEINLINE TWeakPtr & operator=(TWeakPtr const &InWeakPtr)
FORCEINLINE TWeakPtr & operator=(SharedPointerInternals::FNullTag *)
FORCEINLINE TWeakPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr)
ArgList(ULongLong types, const internal::Value *values)
internal::Arg::Type type(unsigned index) const
friend class internal::ArgMap
internal::Arg operator[](unsigned index) const
static internal::Arg::Type type(uint64_t types, unsigned index)
ArgList(ULongLong types, const internal::Arg *args)
void report_unhandled_arg()
Result visit_custom(Arg::CustomValue)
Result visit(const Arg &arg)
Result visit_double(double value)
Result visit_uint(unsigned value)
Result visit_cstring(const char *)
Result visit_pointer(const void *)
Result visit_unhandled_arg()
Result visit_any_double(T)
Result visit_long_double(long double value)
Result visit_long_long(LongLong value)
Result visit_wstring(Arg::StringValue< wchar_t >)
Result visit_string(Arg::StringValue< char >)
Result visit_ulong_long(ULongLong value)
Result visit_int(int value)
Result visit_bool(bool value)
Result visit_char(int value)
BasicArrayWriter(Char *array, std::size_t size)
internal::FixedBuffer< Char > buffer_
BasicArrayWriter(Char(&array)[SIZE])
const Char * c_str() const
BasicCStringRef(const Char *s)
BasicStringRef(const Char *s)
friend bool operator!=(BasicStringRef lhs, BasicStringRef rhs)
friend bool operator<(BasicStringRef lhs, BasicStringRef rhs)
const Char * data() const
friend bool operator<=(BasicStringRef lhs, BasicStringRef rhs)
friend bool operator>(BasicStringRef lhs, BasicStringRef rhs)
std::basic_string< Char > to_string() const
friend bool operator>=(BasicStringRef lhs, BasicStringRef rhs)
BasicStringRef(const Char *s, std::size_t size)
friend bool operator==(BasicStringRef lhs, BasicStringRef rhs)
int compare(BasicStringRef other) const
static CharPtr fill_padding(CharPtr buffer, unsigned total_size, std::size_t content_size, wchar_t fill)
void write_decimal(Int value)
void append_float_length(Char *&, T)
void write_int(T value, Spec spec)
static Char * get(Char *p)
friend class BasicPrintfArgFormatter
BasicWriter(Buffer< Char > &b)
CharPtr prepare_int_buffer(unsigned num_digits, const Spec &spec, const char *prefix, unsigned prefix_size)
Char * write_unsigned_decimal(UInt value, unsigned prefix_size=0)
void append_float_length(Char *&format_ptr, long double)
void operator<<(typename internal::WCharHelper< const wchar_t *, Char >::Unsupported)
CharPtr grow_buffer(std::size_t n)
void write_str(const internal::Arg::StringValue< StrChar > &str, const Spec &spec)
const Char * data() const FMT_NOEXCEPT
std::basic_string< Char > str() const
void clear() FMT_NOEXCEPT
CharPtr write_str(const StrChar *s, std::size_t size, const AlignSpec &spec)
void write(BasicCStringRef< Char > format, ArgList args)
Buffer< Char > & buffer() FMT_NOEXCEPT
CharPtr prepare_int_buffer(unsigned num_digits, const EmptySpec &, const char *prefix, unsigned prefix_size)
void operator<<(typename internal::WCharHelper< wchar_t, Char >::Unsupported)
internal::CharTraits< Char >::CharPtr CharPtr
void write_double(T value, const Spec &spec)
const Char * c_str() const
void resize(std::size_t new_size)
void push_back(const T &value)
void clear() FMT_NOEXCEPT
void append(const U *begin, const U *end)
void reserve(std::size_t capacity)
virtual void grow(std::size_t size)=0
Buffer(T *ptr=FMT_NULL, std::size_t capacity=0)
T & operator[](std::size_t index)
std::size_t capacity() const
const T & operator[](std::size_t index) const
SystemError(int error_code, CStringRef message)
FMT_API ~SystemError() FMT_DTOR_NOEXCEPT FMT_OVERRIDE
FMT_API void init(int err_code, CStringRef format_str, ArgList args)
void init(const ArgList &args)
static Char cast(int value)
static char convert(char value)
static char convert(wchar_t)
static wchar_t convert(char value)
static wchar_t convert(wchar_t value)
MakeValue(unsigned long value)
MakeValue(typename WCharHelper< wchar_t, Char >::Unsupported)
MakeValue(typename WCharHelper< WStringRef, Char >::Unsupported)
static uint64_t type(long)
MakeValue(typename WCharHelper< const wchar_t *, Char >::Unsupported)
MakeValue(typename WCharHelper< wchar_t *, Char >::Unsupported)
void set_string(WStringRef str)
static uint64_t type(unsigned long)
void set_string(StringRef str)
MakeValue(const T *value)
static void format_custom_arg(void *formatter, const void *arg, void *format_str_ptr)
RuntimeError(const RuntimeError &rerr)
FMT_API ~RuntimeError() FMT_DTOR_NOEXCEPT FMT_OVERRIDE
ThousandsSep(fmt::StringRef sep)
void operator()(Char *&buffer)
void _set_formatter(spdlog::formatter_ptr msg_formatter) override
void format(details::log_msg &msg) override
std::unique_ptr< details::async_log_helper > _async_log_helper
pattern_formatter(const pattern_formatter &)=delete
void _sink_it(details::log_msg &msg) override
std::tm get_time(details::log_msg &msg)
pattern_formatter & operator=(const pattern_formatter &)=delete
void handle_flag(char flag)
const std::string _pattern
const pattern_time_type _pattern_time
virtual log_err_handler error_handler() override
std::vector< std::unique_ptr< details::flag_formatter > > _formatters
const std::chrono::seconds cache_refresh
log_clock::time_point _last_update
void format(details::log_msg &msg, const std::tm &tm_time) override
z_formatter & operator=(const z_formatter &)=delete
int get_cached_offset(const log_msg &msg, const std::tm &tm_time)
void format(details::log_msg &msg, const std::tm &) override
z_formatter(const z_formatter &)=delete
static void sleep_or_yield(const spdlog::log_clock::time_point &now, const log_clock::time_point &last_op_time)
void log(const details::log_msg &msg)
const std::function< void()> _worker_teardown_cb
void push_msg(async_msg &&new_msg)
void flush(bool wait_for_q)
void handle_flush_interval(log_clock::time_point &now, log_clock::time_point &last_flush)
async_log_helper(formatter_ptr formatter, const std::vector< sink_ptr > &sinks, size_t queue_size, const log_err_handler err_handler, const async_overflow_policy overflow_policy=async_overflow_policy::block_retry, const std::function< void()> &worker_warmup_cb=nullptr, const std::chrono::milliseconds &flush_interval_ms=std::chrono::milliseconds::zero(), const std::function< void()> &worker_teardown_cb=nullptr)
const async_overflow_policy _overflow_policy
std::vector< std::shared_ptr< sinks::sink > > _sinks
bool _terminate_requested
std::thread _worker_thread
const std::function< void()> _worker_warmup_cb
bool process_next_msg(log_clock::time_point &last_pop, log_clock::time_point &last_flush)
const std::chrono::milliseconds _flush_interval_ms
log_err_handler _err_handler
void set_formatter(formatter_ptr)
void set_error_handler(spdlog::log_err_handler err_handler)
void reopen(bool truncate)
const filename_t & filename() const
file_helper(const file_helper &)=delete
void write(const log_msg &msg)
file_helper & operator=(const file_helper &)=delete
std::atomic< size_t > dequeue_pos_
char cacheline_pad_t[cacheline_size]
mpmc_bounded_queue(mpmc_bounded_queue const &)=delete
void operator=(mpmc_bounded_queue const &)=delete
std::atomic< size_t > enqueue_pos_
size_t const buffer_mask_
static size_t const cacheline_size
mpmc_bounded_queue(size_t buffer_size)
void set_async_mode(size_t q_size, const async_overflow_policy overflow_policy, const std::function< void()> &worker_warmup_cb, const std::chrono::milliseconds &flush_interval_ms, const std::function< void()> &worker_teardown_cb)
std::function< void()> _worker_warmup_cb
std::function< void()> _worker_teardown_cb
void formatter(formatter_ptr f)
std::shared_ptr< async_logger > create_async(const std::string &logger_name, size_t queue_size, const async_overflow_policy overflow_policy, const std::function< void()> &worker_warmup_cb, const std::chrono::milliseconds &flush_interval_ms, const std::function< void()> &worker_teardown_cb, const It &sinks_begin, const It &sinks_end)
void throw_if_exists(const std::string &logger_name)
void drop(const std::string &logger_name)
std::shared_ptr< logger > create(const std::string &logger_name, sink_ptr sink)
std::chrono::milliseconds _flush_interval_ms
void apply_all(std::function< void(std::shared_ptr< logger >)> fun)
std::shared_ptr< async_logger > create_async(const std::string &logger_name, size_t queue_size, const async_overflow_policy overflow_policy, const std::function< void()> &worker_warmup_cb, const std::chrono::milliseconds &flush_interval_ms, const std::function< void()> &worker_teardown_cb, sinks_init_list sinks)
void register_logger(std::shared_ptr< logger > logger)
log_err_handler _err_handler
void set_error_handler(log_err_handler handler)
std::shared_ptr< logger > create(const std::string &logger_name, sinks_init_list sinks)
void set_pattern(const std::string &pattern)
registry_t< Mutex > & operator=(const registry_t< Mutex > &)=delete
void set_level(level::level_enum log_level)
std::shared_ptr< logger > get(const std::string &logger_name)
std::shared_ptr< logger > create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end)
std::shared_ptr< async_logger > create_async(const std::string &logger_name, size_t queue_size, const async_overflow_policy overflow_policy, const std::function< void()> &worker_warmup_cb, const std::chrono::milliseconds &flush_interval_ms, const std::function< void()> &worker_teardown_cb, sink_ptr sink)
async_overflow_policy _overflow_policy
static registry_t< Mutex > & instance()
const std::vector< sink_ptr > & sinks() const
std::atomic< time_t > _last_err_time
void log(level::level_enum lvl, const T &)
void log(level::level_enum lvl, const char *fmt, const Args &... args)
log_err_handler _err_handler
void debug(const char *fmt, const Arg1 &, const Args &... args)
void trace(const char *fmt, const Arg1 &, const Args &... args)
bool should_log(level::level_enum) const
void log(level::level_enum lvl, const char *msg)
void flush_on(level::level_enum log_level)
virtual log_err_handler error_handler()
spdlog::level_t _flush_level
void set_formatter(formatter_ptr)
void warn(const char *fmt, const Arg1 &, const Args &... args)
void info(const char *fmt, const Arg1 &, const Args &... args)
void error(const char *fmt, const Arg1 &, const Args &... args)
logger & operator=(const logger &)=delete
std::vector< sink_ptr > _sinks
logger(const logger &)=delete
std::atomic< size_t > _msg_counter
bool _should_flush_on(const details::log_msg &)
const std::string & name() const
virtual void _sink_it(details::log_msg &)
void critical(const char *fmt, const Arg1 &, const Args &... args)
virtual void _set_formatter(formatter_ptr)
void _incr_msg_counter(details::log_msg &msg)
void set_level(level::level_enum)
daily_file_sink(const filename_t &base_filename, int rotation_hour, int rotation_minute)
details::file_helper _file_helper
void _sink_it(const details::log_msg &msg) override
void set_force_flush(bool force_flush)
static std::shared_ptr< MyType > instance()
simple_file_sink(const filename_t &filename, bool truncate=false)
std::chrono::system_clock::time_point _next_rotation_tp()
std::chrono::system_clock::time_point _rotation_tp
rotating_file_sink(const filename_t &base_filename, std::size_t max_size, std::size_t max_files)
std::size_t _current_size
static filename_t calc_filename(const filename_t &filename, std::size_t index)
filename_t _base_filename
virtual ~base_sink()=default
base_sink & operator=(const base_sink &)=delete
void log(const details::log_msg &msg) SPDLOG_FINAL override
void flush() SPDLOG_FINAL override
virtual void _sink_it(const details::log_msg &msg)=0
base_sink(const base_sink &)=delete
void set_level(level::level_enum log_level)
bool should_log(level::level_enum msg_level) const
virtual void log(const details::log_msg &msg)=0
const char * what() const SPDLOG_NOEXCEPT override
#define SPDLOG_LEVEL_NAMES
FORCEINLINE void Sort(RangeType &Range)
FORCEINLINE int32 LowerBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE int32 LowerBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection)
FORCEINLINE void SortBy(RangeType &Range, ProjectionType Proj)
FORCEINLINE int32 UpperBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection)
FORCEINLINE int32 UpperBound(RangeType &Range, const ValueType &Value)
FORCEINLINE void Sort(RangeType &Range, PredicateType Pred)
FORCEINLINE void IntroSort(RangeType &Range)
FORCEINLINE int32 BinarySearchBy(RangeType &Range, const ValueType &Value, ProjectionType Projection)
FORCEINLINE void IntroSortBy(RangeType &Range, ProjectionType Projection, PredicateType Predicate)
FORCEINLINE void IntroSort(RangeType &Range, PredicateType Predicate)
FORCEINLINE int32 BinarySearchBy(RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE int32 UpperBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE void IntroSortBy(RangeType &Range, ProjectionType Projection)
FORCEINLINE int32 BinarySearch(RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate)
FORCEINLINE int32 BinarySearch(RangeType &Range, const ValueType &Value)
FORCEINLINE int32 UpperBound(RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate)
FORCEINLINE void SortBy(RangeType &Range, ProjectionType Proj, PredicateType Pred)
FORCEINLINE int32 LowerBound(RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate)
FORCEINLINE int32 LowerBound(RangeType &Range, const ValueType &Value)
FORCEINLINE bool HeapIsLeaf(int32 Index, int32 Count)
FORCEINLINE int32 HeapGetParentIndex(int32 Index)
void IntroSortInternal(T *First, SIZE_T Num, ProjectionType Projection, PredicateType Predicate)
FORCEINLINE int32 HeapGetLeftChildIndex(int32 Index)
FORCEINLINE int32 HeapSiftUp(RangeValueType *Heap, int32 RootIndex, int32 NodeIndex, const ProjectionType &Projection, const PredicateType &Predicate)
FORCEINLINE void HeapSiftDown(RangeValueType *Heap, int32 Index, const int32 Count, const ProjectionType &Projection, const PredicateType &Predicate)
FORCEINLINE void HeapifyInternal(RangeValueType *First, SIZE_T Num, ProjectionType Projection, PredicateType Predicate)
FORCEINLINE SIZE_T UpperBoundInternal(RangeValueType *First, const SIZE_T Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE SIZE_T LowerBoundInternal(RangeValueType *First, const SIZE_T Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
void HeapSortInternal(RangeValueType *First, SIZE_T Num, ProjectionType Projection, PredicateType Predicate)
IApiUtils & GetApiUtils()
void FromString(float &OutValue, const TCHAR *Buffer)
void FromString(int8 &OutValue, const TCHAR *Buffer)
void FromString(uint8 &OutValue, const TCHAR *Buffer)
void FromString(uint32 &OutValue, const TCHAR *Buffer)
TEnableIf< TIsCharType< CharType >::Value, FString >::Type ToString(const CharType *Ptr)
void FromString(int32 &OutValue, const TCHAR *Buffer)
void FromString(uint64 &OutValue, const TCHAR *Buffer)
FString ToSanitizedString(const T &Value)
void FromString(FString &OutValue, const TCHAR *Buffer)
void FromString(double &OutValue, const TCHAR *Buffer)
void FromString(uint16 &OutValue, const TCHAR *Buffer)
static TEnableIf< TIsArithmetic< T >::Value, bool >::Type TryParseString(T &OutValue, const TCHAR *Buffer)
void FromString(int16 &OutValue, const TCHAR *Buffer)
FString ToString(bool Value)
FORCEINLINE FString ToString(FString &&Str)
FORCEINLINE FString ToString(const FString &Str)
void FromString(int64 &OutValue, const TCHAR *Buffer)
TAlignedBytes< 16, 16 > AlignedInlineFunctionType
TInlineAllocator< 2 > FunctionAllocatorType
FORCEINLINE auto DereferenceIfNecessary(CallableType &&Callable) -> typename TEnableIf< TPointerIsConvertibleFromTo< typename TDecay< CallableType >::Type, typename TDecay< BaseType >::Type >::Value, decltype((CallableType &&) Callable)>::Type
FORCEINLINE TSharedRef< ObjectType, Mode > MakeSharedRef(ObjectType *InObject, SharedPointerInternals::FReferenceControllerBase *InSharedReferenceCount)
bool MatchesWildcardRecursive(const TCHAR *Target, int32 TargetLength, const TCHAR *Wildcard, int32 WildcardLength)
unsigned parse_nonnegative_int(const Char *&s)
T * make_ptr(T *ptr, std::size_t)
bool is_name_start(Char c)
Yes & convert(fmt::ULongLong)
bool is_negative(T value)
fmt::StringRef thousands_sep(...)
void require_numeric_argument(const Arg &arg, char spec)
MakeUnsigned< Int >::Type to_unsigned(Int value)
void format_decimal(Char *buffer, UInt value, unsigned num_digits)
void check_sign(const Char *&s, const Arg &arg)
StringRef thousands_sep(LConv *lc, LConvCheck< char *LConv::*, &LConv::thousands_sep >=0)
uint64_t make_type(const T &arg)
void format_arg(Formatter &,...)
void format_decimal(Char *buffer, UInt value, unsigned num_digits, ThousandsSep thousands_sep)
ArgJoin< wchar_t, It > join(It first, It last, const BasicCStringRef< wchar_t > &sep)
void format_decimal(char *&buffer, T value)
FMT_API void print(CStringRef format_str, ArgList args)
FMT_API void print_colored(Color c, CStringRef format, ArgList args)
ArgJoin< char, It > join(It first, It last, const BasicCStringRef< char > &sep)
IntFormatSpec< int, TypeSpec< 'o'> > oct(int value)
BasicWriter< char > Writer
StrFormatSpec< wchar_t > pad(const wchar_t *str, unsigned width, char fill=' ')
BasicArrayWriter< wchar_t > WArrayWriter
std::string format(CStringRef format_str, ArgList args)
BasicArrayWriter< char > ArrayWriter
IntFormatSpec< int, TypeSpec< 'b'> > bin(int value)
BasicMemoryWriter< wchar_t > WMemoryWriter
IntFormatSpec< int, TypeSpec< 'x'> > hex(int value)
BasicStringRef< wchar_t > WStringRef
BasicMemoryWriter< char > MemoryWriter
void arg(WStringRef, const internal::NamedArg< Char > &) FMT_DELETED_OR_UNDEFINED
FMT_API void report_system_error(int error_code, StringRef message) FMT_NOEXCEPT
void format_arg(fmt::BasicFormatter< Char, ArgFormatter > &f, const Char *&format_str, const ArgJoin< Char, It > &e)
std::wstring format(WCStringRef format_str, ArgList args)
FMT_API void print(std::FILE *f, CStringRef format_str, ArgList args)
internal::NamedArgWithType< char, T > arg(StringRef name, const T &arg)
IntFormatSpec< int, AlignTypeSpec< TYPE_CODE >, Char > pad(int value, unsigned width, Char fill=' ')
FMT_API void format_system_error(fmt::Writer &out, int error_code, fmt::StringRef message) FMT_NOEXCEPT
void arg(StringRef, const internal::NamedArg< Char > &) FMT_DELETED_OR_UNDEFINED
internal::NamedArgWithType< wchar_t, T > arg(WStringRef name, const T &arg)
IntFormatSpec< int, TypeSpec< 'X'> > hexu(int value)
BasicStringRef< char > StringRef
StrFormatSpec< Char > pad(const Char *str, unsigned width, Char fill=' ')
BasicCStringRef< wchar_t > WCStringRef
FMT_GCC_EXTENSION typedef long long LongLong
BasicCStringRef< char > CStringRef
FMT_GCC_EXTENSION typedef unsigned long long ULongLong
BasicWriter< wchar_t > WWriter
bool operator!=(const std::tm &tm1, const std::tm &tm2)
std::string errno_to_string(char[256], char *res)
bool in_terminal(FILE *file)
std::string errno_to_string(char buf[256], int res)
void prevent_child_fd(FILE *f)
int utc_minutes_offset(const std::tm &tm=details::os::localtime())
std::tm gmtime(const std::time_t &time_tt)
static SPDLOG_CONSTEXPR int eol_size
std::tm localtime(const std::time_t &time_tt)
spdlog::log_clock::time_point now()
std::string errno_str(int err_num)
static SPDLOG_CONSTEXPR const char * eol
bool operator==(const std::tm &tm1, const std::tm &tm2)
registry_t< std::mutex > registry
static fmt::MemoryWriter & pad_n_join(fmt::MemoryWriter &w, int v1, int v2, int v3, char sep)
static const char * ampm(const tm &t)
static int to12h(const tm &t)
static fmt::MemoryWriter & pad_n_join(fmt::MemoryWriter &w, int v1, int v2, char sep)
const char * to_short_str(spdlog::level::level_enum l)
const char * to_str(spdlog::level::level_enum l)
static const char * short_level_names[]
stderr_sink< details::null_mutex > stderr_sink_st
rotating_file_sink< std::mutex > rotating_file_sink_mt
daily_file_sink< std::mutex > daily_file_sink_mt
stderr_sink< std::mutex > stderr_sink_mt
wincolor_stderr_sink< std::mutex > wincolor_stderr_sink_mt
simple_file_sink< std::mutex > simple_file_sink_mt
simple_file_sink< details::null_mutex > simple_file_sink_st
wincolor_stdout_sink< details::null_mutex > wincolor_stdout_sink_st
stdout_sink< std::mutex > stdout_sink_mt
rotating_file_sink< details::null_mutex > rotating_file_sink_st
wincolor_stderr_sink< details::null_mutex > wincolor_stderr_sink_st
stdout_sink< details::null_mutex > stdout_sink_st
daily_file_sink< details::null_mutex > daily_file_sink_st
wincolor_stdout_sink< std::mutex > wincolor_stdout_sink_mt
void set_formatter(formatter_ptr f)
std::shared_ptr< logger > stdout_logger_st(const std::string &logger_name)
std::shared_ptr< logger > create_async(const std::string &logger_name, const sink_ptr &sink, size_t queue_size, const async_overflow_policy overflow_policy=async_overflow_policy::block_retry, const std::function< void()> &worker_warmup_cb=nullptr, const std::chrono::milliseconds &flush_interval_ms=std::chrono::milliseconds::zero(), const std::function< void()> &worker_teardown_cb=nullptr)
void register_logger(std::shared_ptr< logger > logger)
std::shared_ptr< logger > rotating_logger_st(const std::string &logger_name, const filename_t &filename, size_t max_file_size, size_t max_files)
std::shared_ptr< logger > rotating_logger_mt(const std::string &logger_name, const filename_t &filename, size_t max_file_size, size_t max_files)
void set_error_handler(log_err_handler)
std::shared_ptr< logger > create_async(const std::string &logger_name, sinks_init_list sinks, size_t queue_size, const async_overflow_policy overflow_policy=async_overflow_policy::block_retry, const std::function< void()> &worker_warmup_cb=nullptr, const std::chrono::milliseconds &flush_interval_ms=std::chrono::milliseconds::zero(), const std::function< void()> &worker_teardown_cb=nullptr)
std::shared_ptr< logger > stdout_color_mt(const std::string &logger_name)
std::shared_ptr< logger > get(const std::string &name)
std::shared_ptr< logger > create(const std::string &logger_name, sinks_init_list sinks)
std::shared_ptr< logger > create_async(const std::string &logger_name, const It &sinks_begin, const It &sinks_end, size_t queue_size, const async_overflow_policy overflow_policy=async_overflow_policy::block_retry, const std::function< void()> &worker_warmup_cb=nullptr, const std::chrono::milliseconds &flush_interval_ms=std::chrono::milliseconds::zero(), const std::function< void()> &worker_teardown_cb=nullptr)
void apply_all(std::function< void(std::shared_ptr< logger >)> fun)
std::shared_ptr< logger > create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end)
std::shared_ptr< logger > daily_logger_mt(const std::string &logger_name, const filename_t &filename, int hour=0, int minute=0)
std::shared_ptr< logger > stdout_logger_mt(const std::string &logger_name)
std::shared_ptr< logger > stdout_color_st(const std::string &logger_name)
std::shared_ptr< logger > daily_logger_st(const std::string &logger_name, const filename_t &filename, int hour=0, int minute=0)
std::shared_ptr< logger > stderr_color_st(const std::string &logger_name)
std::shared_ptr< logger > basic_logger_mt(const std::string &logger_name, const filename_t &filename, bool truncate=false)
void set_level(level::level_enum log_level)
void set_async_mode(size_t queue_size, const async_overflow_policy overflow_policy=async_overflow_policy::block_retry, const std::function< void()> &worker_warmup_cb=nullptr, const std::chrono::milliseconds &flush_interval_ms=std::chrono::milliseconds::zero(), const std::function< void()> &worker_teardown_cb=nullptr)
std::shared_ptr< logger > stderr_logger_mt(const std::string &logger_name)
std::shared_ptr< spdlog::logger > create(const std::string &logger_name, Args...)
std::shared_ptr< logger > create(const std::string &logger_name, const sink_ptr &sink)
std::shared_ptr< logger > stderr_logger_st(const std::string &logger_name)
void set_pattern(const std::string &format_string)
std::shared_ptr< logger > stderr_color_mt(const std::string &logger_name)
void drop(const std::string &name)
std::shared_ptr< logger > basic_logger_st(const std::string &logger_name, const filename_t &filename, bool truncate=false)
#define SPDLOG_FILENAME_T(s)
FVector & DefaultActorLocationField()
int & TargetingTeamField()
USceneComponent * RootComponentField()
APlayerState * PlayerStateField()
UCheatManager * CheatManagerField()
FString * GetPlayerNetworkAddress(FString *result)
FUniqueNetIdRepl & UniqueIdField()
FString & PlayerNameField()
bool TeleportTo(FVector *DestLocation, FRotator *DestRotation, bool bIsATest, bool bNoCheck)
UPrimalInventoryComponent * MyInventoryComponentField()
void DoNeuter_Implementation()
static UClass * GetPrivateStaticClass()
void TameDino(AShooterPlayerController *ForPC, bool bIgnoreMaxTameLimit, int OverrideTamingTeamID)
int & TamingTeamIDField()
FString & TamerStringField()
int & AbsoluteBaseLevelField()
UPrimalPlayerData * GetPlayerData()
APrimalDinoCharacter * GetRidingDino()
unsigned __int64 GetSteamIDForPlayerID(int playerDataID)
void AddPlayerID(int playerDataID, unsigned __int64 netUniqueID)
__int64 & LinkedPlayerIDField()
void SetPlayerPos(float X, float Y, float Z)
AActor * SpawnActor(FString *blueprintPath, float spawnDistance, float spawnYOffset, float ZOffset, bool bDoDeferBeginPlay)
AShooterCharacter * GetPlayerCharacter()
FString * GetPlayerName(FString *result)
void SetTribeTamingDinoSettings(APrimalDinoCharacter *aDinoChar)
TCallTraits< ElementType >::ParamType ElementInitType
TCallTraits< InKeyType >::ParamType KeyInitType
static FORCEINLINE bool Matches(KeyInitType A, KeyInitType B)
static FORCEINLINE KeyInitType GetSetKey(ElementInitType Element)
TCallTraits< ElementType >::ParamType KeyInitType
static FORCEINLINE uint32 GetKeyHash(KeyInitType Key)
TCallTraits< ElementType >::ParamType ElementInitType
void PrioritizeAssetInstall(FAssetData *AssetData)
EAssetAvailability::Type GetAssetAvailability(FAssetData *AssetData)
bool GetDependencies(FName PackageName, TArray< FName > *OutDependencies)
float GetAssetAvailabilityProgress(FAssetData *AssetData, EAssetAvailabilityProgressReportingType::Type ReportType)
bool GetAssetsByPackageName(FName PackageName, TArray< FAssetData > *OutAssetData)
void AssetRenamed(UObject *RenamedAsset, FString *OldObjectPath)
void GetSubPaths(FString *InBasePath, TArray< FString > *OutPathList, bool bInRecurse)
void AddAssetData(FAssetData *AssetData)
void PrioritizeSearchPath(FString *PathToPrioritize)
bool GetAssetsByClass(FName ClassName, TArray< FAssetData > *OutAssetData, bool bSearchSubClasses)
bool GetAllAssets(TArray< FAssetData > *OutAssetData)
void SearchAllAssets(bool bSynchronousSearch)
void ScanPathsSynchronous_Internal(TArray< FString > *InPaths, bool bForceRescan, bool bUseCache)
void OnContentPathMounted(FString *InAssetPath, FString *FileSystemPath)
bool RemoveAssetData(FAssetData *AssetData)
FAssetData * GetAssetByObjectPath(FAssetData *result, FName ObjectPath)
void AssetDeleted(UObject *DeletedAsset)
void PathDataGathered(const long double TickStartTime, TArray< FString > *PathResults)
bool RemoveAssetPath(FString *PathToRemove, bool bEvenIfAssetsStillExist)
void GetAllCachedPaths(TArray< FString > *OutPathList)
FString * ExportTextPathToObjectName(FString *result, FString *InExportTextPath)
bool GetAncestorClassNames(FName ClassName, TArray< FName > *OutAncestorClassNames)
bool GetReferencers(FName PackageName, TArray< FName > *OutReferencers)
bool GetAssetsByPath(FName PackagePath, TArray< FAssetData > *OutAssetData, bool bRecursive)
void ScanPathsSynchronous(TArray< FString > *InPaths, bool bForceRescan)
void AssetCreated(UObject *NewAsset)
void OnContentPathDismounted(FString *InAssetPath, FString *FileSystemPath)
bool AddPath(FString *PathToAdd)
static bool IsUsingWorldAssets()
bool RemoveDependsNode(FName PackageName)
bool GetAssetAvailabilityProgressTypeSupported(EAssetAvailabilityProgressReportingType::Type ReportType)
void CollectCodeGeneratorClasses()
void Tick(float DeltaTime)
bool RemovePath(FString *PathToRemove)
static FORCEINLINE uint32 GetAndClearNextBit(uint32 &Mask)
TArray< unsigned int > IgnoreActors
bool bReturnPhysicalMaterial
bool bFindInitialOverlaps
FCollisionResponseContainer CollisionResponse
FORCEINLINE bool operator!=(const FColor &C) const
FORCEINLINE bool operator==(const FColor &C) const
static FColor MakeFromColorTemperature(float Temp)
FORCEINLINE FLinearColor ReinterpretAsLinear() const
FLinearColor FromRGBE() const
FORCEINLINE void operator+=(const FColor &C)
FORCEINLINE FColor(uint8 InR, uint8 InG, uint8 InB, uint8 InA=255)
FORCEINLINE uint32 ToPackedRGBA() const
const uint32 & DWColor(void) const
FORCEINLINE uint32 ToPackedABGR() const
static FColor FromHex(const FString &HexString)
FORCEINLINE FColor(uint32 InColor)
FORCEINLINE uint32 ToPackedBGRA() const
static FColor MakeRedToGreenColorFromScalar(float Scalar)
FORCEINLINE FColor(EForceInit)
FColor WithAlpha(uint8 Alpha) const
FORCEINLINE uint32 ToPackedARGB() const
FColor(const FLinearColor &LinearColor)
static FColor MakeRandomColor()
static uint32 MemCrc32(const void *Data, int32 Lenght)
float & HttpReceiveTimeoutField()
int & HttpMaxConnectionsPerServerField()
int & MaxReadBufferSizeField()
bool & bEnableHttpField()
TSharedRef< IHttpRequest, 0 > * CreateRequest(TSharedRef< IHttpRequest, 0 > *result)
float & HttpSendTimeoutField()
float & HttpConnectionTimeoutField()
static FHttpModule * Get()
float & HttpTimeoutField()
void SetHeader(FString *HeaderName, FString *HeaderValue)
long double & StartRequestTimeField()
TSharedPtr< IHttpResponse, 1 > * GetResponse(TSharedPtr< IHttpResponse, 1 > *result)
FString * GenerateHeaderBuffer(FString *result, unsigned int ContentLength)
void SetURL(FString *URL)
EHttpRequestStatus::Type GetStatus()
TArray< unsigned char > & RequestPayloadField()
FString & RequestVerbField()
FString * GetContentType(FString *result)
void SetContentAsString(FString *ContentString)
void * RequestHandleField()
void SetContent(TArray< unsigned char > *ContentPayload)
FString * GetURL(FString *result)
void * ConnectionHandleField()
volatile int & ElapsedTimeSinceLastServerResponseField()
FString * GetHeader(FString *result, FString *HeaderName)
void Tick(float DeltaSeconds)
EHttpRequestStatus::Type & CompletionStatusField()
TArray< FString > * GetAllHeaders(TArray< FString > *result)
bool & bDebugVerboseField()
TMap< FString, FString, FDefaultSetAllocator, TDefaultMapKeyFuncs< FString, FString, 0 > > & RequestHeadersField()
TSharedPtr< FHttpResponseWinInet, 1 > & ResponseField()
FString * GetURLParameter(FString *result, FString *ParameterName)
void SetVerb(FString *Verb)
int & ProgressBytesSentField()
FString * GetVerb(FString *result)
TArray< FString > * GetAllHeaders(TArray< FString > *result)
TArray< unsigned char > & ResponsePayloadField()
volatile int & bResponseSucceededField()
volatile int & bIsReadyField()
FString * GetURLParameter(FString *result, FString *ParameterName)
FString * GetURL(FString *result)
TArray< unsigned char > * GetContent()
FString * GetContentType(FString *result)
FString * GetContentAsString(FString *result)
int & MaxReadBufferSizeField()
void ProcessResponseHeaders()
FString * QueryHeaderString(FString *result, unsigned int HttpQueryInfoLevel, FString *HeaderName)
FString * GetHeader(FString *result, FString *HeaderName)
int & ContentLengthField()
FHttpRequestWinInet * RequestField()
int & TotalBytesReadField()
int & AsyncBytesReadField()
TMap< FString, FString, FDefaultSetAllocator, TDefaultMapKeyFuncs< FString, FString, 0 > > & ResponseHeadersField()
int & ResponseCodeField()
FORCEINLINE T && operator()(T &&Val) const
FORCEINLINE FIntPoint(EForceInit)
FORCEINLINE FIntPoint ComponentMax(const FIntPoint &Other) const
int32 SizeSquared() const
FIntPoint & operator/=(const FIntPoint &Other)
FIntPoint & operator-=(const FIntPoint &Other)
static FIntPoint DivideAndRoundUp(FIntPoint lhs, int32 Divisor)
static FIntPoint DivideAndRoundUp(FIntPoint lhs, FIntPoint Divisor)
FIntPoint & operator=(const FIntPoint &Other)
FIntPoint & operator*=(int32 Scale)
FIntPoint & operator+=(const FIntPoint &Other)
const int32 & operator()(int32 PointIndex) const
static const FIntPoint NoneValue
int32 & operator[](int32 Index)
FIntPoint & operator/=(int32 Divisor)
int32 & operator()(int32 PointIndex)
FIntPoint operator-(const FIntPoint &Other) const
bool operator!=(const FIntPoint &Other) const
FIntPoint(int32 InX, int32 InY)
FIntPoint operator/(const FIntPoint &Other) const
FIntPoint operator*(int32 Scale) const
bool operator==(const FIntPoint &Other) const
FIntPoint operator+(const FIntPoint &Other) const
int32 operator[](int32 Index) const
FIntPoint operator/(int32 Divisor) const
static FIntPoint DivideAndRoundDown(FIntPoint lhs, int32 Divisor)
FORCEINLINE FIntPoint ComponentMin(const FIntPoint &Other) const
static const FIntPoint ZeroValue
FORCEINLINE bool operator==(const FIntVector4 &Other) const
FORCEINLINE FIntVector4()
FORCEINLINE const int32 & operator[](int32 ComponentIndex) const
FORCEINLINE bool operator!=(const FIntVector4 &Other) const
FORCEINLINE FIntVector4(EForceInit)
FORCEINLINE int32 & operator[](int32 ComponentIndex)
FORCEINLINE FIntVector4(int32 InValue)
FORCEINLINE FIntVector4(int32 InX, int32 InY, int32 InZ, int32 InW)
FIntVector & operator=(const FIntVector &Other)
bool operator==(const FIntVector &Other) const
static const FIntVector NoneValue
FIntVector operator/(int32 Divisor) const
FIntVector operator+(const FIntVector &Other) const
static FIntVector DivideAndRoundUp(FIntVector lhs, int32 Divisor)
FIntVector & operator/=(int32 Divisor)
FIntVector & operator*=(int32 Scale)
int32 & operator()(int32 ComponentIndex)
FIntVector(FVector InVector)
const int32 & operator()(int32 ComponentIndex) const
FIntVector operator-(const FIntVector &Other) const
FIntVector & operator+=(const FIntVector &Other)
FIntVector(int32 InX, int32 InY, int32 InZ)
FIntVector(int32 InValue)
static const FIntVector ZeroValue
FIntVector & operator-=(const FIntVector &Other)
FORCEINLINE FIntVector(EForceInit)
int32 & operator[](int32 ComponentIndex)
const int32 & operator[](int32 ComponentIndex) const
FIntVector operator*(int32 Scale) const
bool operator!=(const FIntVector &Other) const
FORCEINLINE FLinearColor & operator-=(const FLinearColor &ColorB)
FORCEINLINE FLinearColor & operator*=(float Scalar)
static FLinearColor LerpUsingHSV(const FLinearColor &From, const FLinearColor &To, const float Progress)
FORCEINLINE FLinearColor(float InR, float InG, float InB, float InA=1.0f)
FORCEINLINE FLinearColor(EForceInit)
FORCEINLINE FLinearColor & operator*=(const FLinearColor &ColorB)
FORCEINLINE FLinearColor operator+(const FLinearColor &ColorB) const
FORCEINLINE FLinearColor operator-(const FLinearColor &ColorB) const
FORCEINLINE FLinearColor operator/(const FLinearColor &ColorB) const
float ComputeLuminance() const
static FLinearColor FGetHSV(uint8 H, uint8 S, uint8 V)
FLinearColor Desaturate(float Desaturation) const
static FLinearColor MakeRandomColor()
FORCEINLINE FLinearColor GetClamped(float InMin=0.0f, float InMax=1.0f) const
FLinearColor(const FColor &Color)
FORCEINLINE const float & Component(int32 Index) const
bool IsAlmostBlack() const
FORCEINLINE float & Component(int32 Index)
FLinearColor LinearRGBToHSV() const
static FLinearColor MakeFromColorTemperature(float Temp)
static CONSTEXPR double sRGBToLinearTable[256]
FORCEINLINE bool Equals(const FLinearColor &ColorB, float Tolerance=KINDA_SMALL_NUMBER) const
FORCEINLINE FLinearColor()
FORCEINLINE bool operator==(const FLinearColor &ColorB) const
FORCEINLINE float GetMin() const
FORCEINLINE float GetLuminance() const
FLinearColor CopyWithNewOpacity(float NewOpacicty) const
FORCEINLINE float GetMax() const
FLinearColor HSVToLinearRGB() const
static float Pow22OneOver255Table[256]
FORCEINLINE FLinearColor operator*(const FLinearColor &ColorB) const
FORCEINLINE FLinearColor & operator/=(const FLinearColor &ColorB)
FORCEINLINE bool operator!=(const FLinearColor &Other) const
FORCEINLINE FLinearColor operator/(float Scalar) const
static float Dist(const FLinearColor &V1, const FLinearColor &V2)
FORCEINLINE FLinearColor & operator/=(float Scalar)
FORCEINLINE FLinearColor operator*(float Scalar) const
static float EvaluateBezier(const FLinearColor *ControlPoints, int32 NumPoints, TArray< FLinearColor > &OutPoints)
FORCEINLINE FLinearColor & operator+=(const FLinearColor &ColorB)
static float UnwindRadians(float A)
static T InterpCircularOut(const T &A, const T &B, float Alpha)
static T InterpEaseInOut(const T &A, const T &B, float Alpha, float Exp)
static T InterpExpoInOut(const T &A, const T &B, float Alpha)
static FORCEINLINE double RoundToNegativeInfinity(double F)
static FORCEINLINE int32 RandRange(int32 Min, int32 Max)
static T BiLerp(const T &P00, const T &P10, const T &P01, const T &P11, const U &FracX, const U &FracY)
static T LerpStable(const T &A, const T &B, double Alpha)
static FORCEINLINE float RandRange(float InMin, float InMax)
static float UnwindDegrees(float A)
static FORCEINLINE float FastAsin(float Value)
static FORCEINLINE float RoundToNegativeInfinity(float F)
static float FindDeltaAngleRadians(float A1, float A2)
static U CubicCRSplineInterp(const U &P0, const U &P1, const U &P2, const U &P3, const float T0, const float T1, const float T2, const float T3, const float T)
static T InterpCircularInOut(const T &A, const T &B, float Alpha)
static float SmoothStep(float A, float B, float X)
static FORCEINLINE T Clamp(const T X, const T Min, const T Max)
static FORCEINLINE float RoundFromZero(float F)
static T CubicInterpSecondDerivative(const T &P0, const T &T0, const T &P1, const T &T1, const U &A)
static int32 LeastCommonMultiplier(int32 a, int32 b)
static FORCEINLINE T Square(const T A)
static T Lerp(const T &A, const T &B, const U &Alpha)
static FORCEINLINE T Max3(const T A, const T B, const T C)
static T InterpEaseOut(const T &A, const T &B, float Alpha, float Exp)
static FORCEINLINE T DivideAndRoundDown(T Dividend, T Divisor)
static FORCEINLINE float RoundToZero(float F)
static FORCEINLINE int32 RandHelper(int32 A)
static int32 GreatestCommonDivisor(int32 a, int32 b)
static T InterpSinOut(const T &A, const T &B, float Alpha)
static T InterpEaseIn(const T &A, const T &B, float Alpha, float Exp)
static FORCEINLINE float RoundToPositiveInfinity(float F)
static FORCEINLINE void PolarToCartesian(const float Rad, const float Ang, float &OutX, float &OutY)
static FORCEINLINE float FRandRange(float InMin, float InMax)
static float FindDeltaAngleDegrees(float A1, float A2)
static FORCEINLINE bool IsPowerOfTwo(T Value)
static FORCEINLINE auto RadiansToDegrees(T const &RadVal) -> decltype(RadVal *(180.f/PI))
static T InterpCircularIn(const T &A, const T &B, float Alpha)
static T InterpStep(const T &A, const T &B, float Alpha, int32 Steps)
static FORCEINLINE T DivideAndRoundUp(T Dividend, T Divisor)
static T InterpExpoOut(const T &A, const T &B, float Alpha)
static T CubicInterpDerivative(const T &P0, const T &T0, const T &P1, const T &T1, const U &A)
static T CubicInterp(const T &P0, const T &T0, const T &P1, const T &T1, const U &A)
static FORCEINLINE double RoundToPositiveInfinity(double F)
static FORCEINLINE void SinCos(float *ScalarSin, float *ScalarCos, float Value)
static FORCEINLINE T Min3(const T A, const T B, const T C)
static FORCEINLINE auto DegreesToRadians(T const &DegVal) -> decltype(DegVal *(PI/180.f))
static T LerpStable(const T &A, const T &B, float Alpha)
static T InterpExpoIn(const T &A, const T &B, float Alpha)
static FORCEINLINE double RoundToZero(double F)
static T InterpSinIn(const T &A, const T &B, float Alpha)
static FORCEINLINE double RoundFromZero(double F)
static T InterpSinInOut(const T &A, const T &B, float Alpha)
static FORCEINLINE bool RandBool()
static FORCEINLINE void * Memzero(void *Dest, SIZE_T Count)
static FORCEINLINE void Memzero(T &Src)
static FORCEINLINE void * SystemMalloc(SIZE_T Size)
static void Free(void *Original)
static FORCEINLINE void * Memset(void *Dest, uint8 Char, SIZE_T Count)
static void * Malloc(SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
static FORCEINLINE void * Memmove(void *Dest, const void *Src, SIZE_T Count)
static FORCEINLINE int32 Memcmp(const void *Buf1, const void *Buf2, SIZE_T Count)
static FORCEINLINE void Memswap(void *Ptr1, void *Ptr2, SIZE_T Size)
static FORCEINLINE void * StreamingMemcpy(void *Dest, const void *Src, SIZE_T Count)
static FORCEINLINE void Memcpy(T &Dest, const T &Src)
static FORCEINLINE void Memset(T &Src, uint8 ValueToSet)
static void * Realloc(void *Ptr, SIZE_T Size, uint32 Alignment=DEFAULT_ALIGNMENT)
static FORCEINLINE void SystemFree(void *Ptr)
static SIZE_T QuantizeSize(SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
static FORCEINLINE void * BigBlockMemcpy(void *Dest, const void *Src, SIZE_T Count)
static FORCEINLINE void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
TSharedPtr< IModuleInterface > * LoadModule(TSharedPtr< IModuleInterface > *result, FName InModuleName, const bool bWasReloaded)
bool IsModuleLoaded(FName InModuleName)
void FindModules(const wchar_t *WildcardWithoutExtension, TArray< FName > *OutModules)
bool IsModuleUpToDate(FName InModuleName)
static FString * GetCleanModuleFilename(FString *result, FName ModuleName, bool bGameModule)
TSharedPtr< IModuleInterface > * GetModule(TSharedPtr< IModuleInterface > *result, FName InModuleName)
void UnloadModulesAtShutdown()
bool UnloadModule(FName InModuleName, bool bIsShutdown)
static void GetModuleFilenameFormat(bool bGameModule, FString *OutPrefix, FString *OutSuffix)
void AddModule(FName InModuleName)
void AddBinariesDirectory(const wchar_t *InDirectory, bool bIsGameDirectory)
static FModuleManager * Get()
static bool SplitNameWithCheck(const wchar_t *OldName, wchar_t *NewName, int NewNameLen, int *NewNumber)
bool operator==(const wchar_t *Other)
int Compare(FName *Other)
bool operator==(const FName &Other) const
void ToString(FString *Out)
FString * GetPlainNameString(FString *result)
void AppendString(FString *Out)
void Init(const char *InName, int InNumber, EFindName FindType, bool bSplitName, int HardcodeIndex)
bool IsValidXName(FString InvalidChars, FText *Reason)
static FString * NameToDisplayString(FString *result, FString *InDisplayName, const bool bIsBool)
FName(const char *Name, EFindName FindType)
void(__fastcall *Pointer)(UObject *_this
unsigned __int64 & PlayerDataIDField()
FORCEINLINE FRotator_NetQuantize(float InPitch, float InYaw, float InRoll)
FORCEINLINE FRotator_NetQuantize(EForceInit E)
FORCEINLINE FRotator_NetQuantize()
static const FRotator ZeroRotator
FRotator GetDenormalized() const
FRotator GetNormalized() const
bool IsNearlyZero(float Tolerance=KINDA_SMALL_NUMBER) const
static float DecompressAxisFromByte(uint16 Angle)
FVector UnrotateVector(const FVector &V) const
static float NormalizeAxis(float Angle)
static float DecompressAxisFromShort(uint16 Angle)
FRotator operator+=(const FRotator &R)
FRotator operator-(const FRotator &R) const
FRotator GetInverse() const
bool operator==(const FRotator &R) const
FORCEINLINE FRotator(float InF)
static uint8 CompressAxisToByte(float Angle)
FRotator(const FQuat &Quat)
FRotator operator*=(float Scale)
void GetWindingAndRemainder(FRotator &Winding, FRotator &Remainder) const
static uint16 CompressAxisToShort(float Angle)
FORCEINLINE FRotator(EForceInit)
FRotator operator-=(const FRotator &R)
FRotator Add(float DeltaPitch, float DeltaYaw, float DeltaRoll)
FRotator GridSnap(const FRotator &RotGrid) const
bool InitFromString(const FString &InSourceString)
FRotator operator*(float Scale) const
FORCEINLINE FRotator(float InPitch, float InYaw, float InRoll)
bool Equals(const FRotator &R, float Tolerance=KINDA_SMALL_NUMBER) const
FVector RotateVector(const FVector &V) const
FString ToCompactString() const
FRotator operator+(const FRotator &R) const
static float ClampAxis(float Angle)
static FRotator MakeFromEuler(const FVector &Euler)
bool operator!=(const FRotator &V) const
FScriptSetLayout SetLayout
FScriptSparseArrayLayout SparseArrayLayout
bool ShouldGatherForLocalization()
int CompareTo(FText *Other, ETextComparisonLevel::Type ComparisonLevel)
static FText * FromName(FText *result, FName *Val)
static bool FindText(FString *Namespace, FString *Key, FText *OutText, FString *const SourceString)
static FText * Format(FText *result, FText *Fmt, FText *v1, FText *v2)
static FText * TrimPreceding(FText *result, FText *InText)
static FText * CreateChronologicalText(FText *result, FString InSourceString)
TSharedPtr< FString > * GetSourceString(TSharedPtr< FString > *result)
static FText * TrimTrailing(FText *result, FText *InText)
FText * operator=(FText *Source)
static FText * TrimPrecedingAndTrailing(FText *result, FText *InText)
FText(FString InSourceString)
TSharedPtr< FTextHistory > History
static FText * FromString(FText *result, FString String)
TSharedPtr< FString > DisplayString
FText(FString InSourceString, FString InNamespace, FString InKey, int InFlags)
static FText * Format(FText *result, FText *Fmt, FText *v1)
static FText * Format(FText *result, FText *Fmt, FText *v1, FText *v2, FText *v3)
FORCEINLINE const uint32 & operator[](int32 ComponentIndex) const
FORCEINLINE bool operator==(const FUintVector4 &Other) const
FORCEINLINE bool operator!=(const FUintVector4 &Other) const
FORCEINLINE FUintVector4(uint32 InX, uint32 InY, uint32 InZ, uint32 InW)
FORCEINLINE FUintVector4(EForceInit)
FORCEINLINE FUintVector4(uint32 InValue)
FORCEINLINE FUintVector4()
FORCEINLINE uint32 & operator[](int32 ComponentIndex)
TSharedPtr< FUniqueNetId > UniqueNetId
unsigned __int64 UniqueNetId
FString * ToString(FString *result)
FString * ToDebugString(FString *result)
FUniqueNetIdUInt64(uint64 InUniqueNetId)
FUniqueNetIdUInt64(FString *Str)
unsigned __int64 & UniqueNetIdField()
FString * ToDebugString(FString *result)
FUniqueNetIdUInt64(FUniqueNetId *InUniqueNetId)
FString * ToString(FString *result)
FUniqueNetIdUInt64(FUniqueNetIdUInt64 *Src)
FVector2D RoundToVector() const
FIntPoint IntPoint() const
FVector2D GetRotated(float AngleDeg) const
bool IsNearlyZero(float Tolerance=KINDA_SMALL_NUMBER) const
static const FVector2D UnitVector
static FORCEINLINE float DistSquared(const FVector2D &V1, const FVector2D &V2)
float Component(int32 Index) const
FORCEINLINE float operator|(const FVector2D &V) const
FORCEINLINE FVector2D operator-(const FVector2D &V) const
static FORCEINLINE float CrossProduct(const FVector2D &A, const FVector2D &B)
static FORCEINLINE float DotProduct(const FVector2D &A, const FVector2D &B)
FORCEINLINE FVector2D operator+=(const FVector2D &V)
bool operator>=(const FVector2D &Other) const
FORCEINLINE FVector2D operator-(float A) const
FVector2D operator/=(float V)
static const FVector2D ZeroVector
bool operator!=(const FVector2D &V) const
float operator[](int32 Index) const
FORCEINLINE FVector2D operator*(float Scale) const
FVector2D operator/=(const FVector2D &V)
FORCEINLINE FVector2D(FIntPoint InPos)
float & operator[](int32 Index)
bool Equals(const FVector2D &V, float Tolerance=KINDA_SMALL_NUMBER) const
FORCEINLINE FVector2D operator+(const FVector2D &V) const
FORCEINLINE FVector2D GetSignVector() const
FORCEINLINE FVector2D operator+(float A) const
FORCEINLINE FVector2D(EForceInit)
bool operator<(const FVector2D &Other) const
FORCEINLINE FVector2D GetAbs() const
FORCEINLINE FVector2D operator-() const
FORCEINLINE float operator^(const FVector2D &V) const
void Set(float InX, float InY)
float & Component(int32 Index)
FVector2D operator/(float Scale) const
void ToDirectionAndLength(FVector2D &OutDir, float &OutLength) const
FORCEINLINE bool ContainsNaN() const
FORCEINLINE FVector2D operator*=(float Scale)
FORCEINLINE FVector2D operator-=(const FVector2D &V)
FVector2D ClampAxes(float MinAxisVal, float MaxAxisVal) const
FVector2D operator/(const FVector2D &V) const
FVector2D GetSafeNormal(float Tolerance=SMALL_NUMBER) const
bool operator<=(const FVector2D &Other) const
FORCEINLINE FVector2D(float InX, float InY)
void Normalize(float Tolerance=SMALL_NUMBER)
float SizeSquared() const
FVector2D operator*=(const FVector2D &V)
bool operator==(const FVector2D &V) const
static FORCEINLINE float Distance(const FVector2D &V1, const FVector2D &V2)
bool operator>(const FVector2D &Other) const
FORCEINLINE FVector2D operator*(const FVector2D &V) const
FORCEINLINE FVector_NetQuantize100()
FORCEINLINE FVector_NetQuantize100(EForceInit E)
FORCEINLINE FVector_NetQuantize100(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantize100(const FVector &InVec)
FORCEINLINE FVector_NetQuantize10(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantize10(const FVector &InVec)
FORCEINLINE FVector_NetQuantize10(EForceInit E)
FORCEINLINE FVector_NetQuantize10()
FORCEINLINE FVector_NetQuantize(EForceInit E)
FORCEINLINE FVector_NetQuantize(const FVector &InVec)
FORCEINLINE FVector_NetQuantize(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantize()
FORCEINLINE FVector_NetQuantizeNormal(EForceInit E)
FORCEINLINE FVector_NetQuantizeNormal(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantizeNormal()
FORCEINLINE FVector_NetQuantizeNormal(const FVector &InVec)
FORCEINLINE FVector operator+(float Bias) const
FORCEINLINE FVector operator*=(float Scale)
bool operator!=(const FVector &V) const
static float Triple(const FVector &X, const FVector &Y, const FVector &Z)
static bool Orthogonal(const FVector &Normal1, const FVector &Normal2, float OrthogonalCosineThreshold=THRESH_NORMALS_ARE_ORTHOGONAL)
static bool Parallel(const FVector &Normal1, const FVector &Normal2, float ParallelCosineThreshold=THRESH_NORMALS_ARE_PARALLEL)
FORCEINLINE FVector operator-(const FVector &V) const
FORCEINLINE FVector operator-=(const FVector &V)
FVector GetSafeNormal(float Tolerance=SMALL_NUMBER) const
static FVector VectorPlaneProject(const FVector &V, const FVector &PlaneNormal)
FVector operator/=(const FVector &V)
static bool PointsAreSame(const FVector &P, const FVector &Q)
FORCEINLINE FVector(float InF)
FORCEINLINE FVector operator+=(const FVector &V)
FORCEINLINE FVector operator-() const
FORCEINLINE FVector operator^(const FVector &V) const
bool IsUniform(float Tolerance=KINDA_SMALL_NUMBER) const
FORCEINLINE FVector operator-(float Bias) const
FRotator ToOrientationRotator() const
FVector(const FLinearColor &InColor)
FVector MirrorByVector(const FVector &MirrorNormal) const
FVector Reciprocal() const
static FORCEINLINE float DistSquaredXY(const FVector &V1, const FVector &V2)
static bool PointsAreNear(const FVector &Point1, const FVector &Point2, float Dist)
bool InitFromString(const FString &InSourceString)
static FORCEINLINE float DotProduct(const FVector &A, const FVector &B)
FVector ComponentMax(const FVector &Other) const
void ToDirectionAndLength(FVector &OutDir, float &OutLength) const
FORCEINLINE float operator|(const FVector &V) const
FRotator Rotation() const
FORCEINLINE FVector GetUnsafeNormal() const
FVector GetClampedToMaxSize(float MaxSize) const
FORCEINLINE FVector operator*(const FVector &V) const
void FindBestAxisVectors(FVector &Axis1, FVector &Axis2) const
FVector(FIntVector InVector)
static const FVector ZeroVector
float SizeSquared2D() const
FVector GetSafeNormal2D(float Tolerance=SMALL_NUMBER) const
float & Component(int32 Index)
static FORCEINLINE float BoxPushOut(const FVector &Normal, const FVector &Size)
FVector operator/(float Scale) const
static FVector RadiansToDegrees(const FVector &RadVector)
FVector2D UnitCartesianToSpherical() const
static float PointPlaneDist(const FVector &Point, const FVector &PlaneBase, const FVector &PlaneNormal)
FVector BoundToCube(float Radius) const
static FORCEINLINE float DistSquared(const FVector &V1, const FVector &V2)
FORCEINLINE FVector GetSignVector() const
FORCEINLINE FVector operator/(const FVector &V) const
static FORCEINLINE float Dist2D(const FVector &V1, const FVector &V2)
FVector ComponentMin(const FVector &Other) const
float & operator[](int32 Index)
static FORCEINLINE float Dist(const FVector &V1, const FVector &V2)
FVector GridSnap(const float &GridSz) const
static bool Coincident(const FVector &Normal1, const FVector &Normal2, float ParallelCosineThreshold=THRESH_NORMALS_ARE_PARALLEL)
FVector Projection() const
static bool Coplanar(const FVector &Base1, const FVector &Normal1, const FVector &Base2, const FVector &Normal2, float ParallelCosineThreshold=THRESH_NORMALS_ARE_PARALLEL)
FORCEINLINE FVector ProjectOnTo(const FVector &A) const
static FVector PointPlaneProject(const FVector &Point, const FVector &PlaneBase, const FVector &PlaneNormal)
bool IsNormalized() const
FORCEINLINE FVector ProjectOnToNormal(const FVector &Normal) const
static FVector PointPlaneProject(const FVector &Point, const FVector &A, const FVector &B, const FVector &C)
bool Equals(const FVector &V, float Tolerance=KINDA_SMALL_NUMBER) const
FQuat ToOrientationQuat() const
bool operator==(const FVector &V) const
FVector GetClampedToSize2D(float Min, float Max) const
float SizeSquared() const
float operator[](int32 Index) const
FVector GetClampedToSize(float Min, float Max) const
static FORCEINLINE float DistSquared2D(const FVector &V1, const FVector &V2)
FVector operator/=(float V)
static FORCEINLINE FVector CrossProduct(const FVector &A, const FVector &B)
FVector operator*=(const FVector &V)
void Set(float InX, float InY, float InZ)
FORCEINLINE FVector operator+(const FVector &V) const
FORCEINLINE FVector operator*(float Scale) const
static FVector DegreesToRadians(const FVector &DegVector)
FORCEINLINE CONSTEXPR FVector(float InX, float InY, float InZ)
FORCEINLINE float CosineAngle2D(FVector B) const
bool AllComponentsEqual(float Tolerance=KINDA_SMALL_NUMBER) const
FVector GetClampedToMaxSize2D(float MaxSize) const
static FORCEINLINE float DistXY(const FVector &V1, const FVector &V2)
static void CreateOrthonormalBasis(FVector &XAxis, FVector &YAxis, FVector &ZAxis)
FORCEINLINE bool IsUnit(float LengthSquaredTolerance=KINDA_SMALL_NUMBER) const
FVector RotateAngleAxis(const float AngleDeg, const FVector &Axis) const
float HeadingAngle() const
static float EvaluateBezier(const FVector *ControlPoints, int32 NumPoints, TArray< FVector > &OutPoints)
float Component(int32 Index) const
FORCEINLINE FVector(const FVector2D V, float InZ)
bool IsNearlyZero(float Tolerance=KINDA_SMALL_NUMBER) const
FORCEINLINE FVector(EForceInit)
static FORCEINLINE float Distance(const FVector &V1, const FVector &V2)
bool Normalize(float Tolerance=SMALL_NUMBER)
virtual ~FVirtualDestructor()
void operator=(UObject const *__that)
static UObject * StaticConstructObject(UClass *InClass, UObject *InOuter, FName InName, EObjectFlags InFlags, UObject *InTemplate, bool bCopyTransientsFromClassDefaults, FObjectInstancingGraph *InInstanceGraph)
static void GetPrivateStaticClassBody(const wchar_t *PackageName, const wchar_t *Name, T **ReturnClass, void(__cdecl *RegisterNativeFunc)())
static UObject * StaticLoadObject(UClass *ObjectClass, UObject *InOuter, const wchar_t *InName, const wchar_t *Filename, unsigned int LoadFlags, DWORD64 Sandbox, bool bAllowObjectReconciliation)
static DataValue< UEngine * > GEngine()
static DataValue< FUObjectArray > GUObjectArray()
static bool HasClassCastFlags(UObject *object, ClassCastFlags flags)
static bool HasClassCastFlags(UClass *_class, ClassCastFlags flags)
static void GetObjectsOfClass(UClass *ClassToLookFor, TArray< UObject *, FDefaultAllocator > *Results, bool bIncludeDerivedClasses, EObjectFlags ExclusionFlags)
static bool IsLinebreak(CharType c)
static bool IsLinebreak(CharType c)
TArrayRange(T *InPtr, int32 InSize)
static FORCEINLINE CharType * Strcpy(CharType *Dest, SIZE_T DestCount, const CharType *Src)
static FORCEINLINE bool IsPureAnsi(const CharType *Str)
static FORCEINLINE uint64 Strtoui64(const CharType *Start, CharType **End, int32 Base)
static const CharType * Strfind(const CharType *Str, const CharType *Find)
static CharType * Strncat(CharType *Dest, const CharType *Src, int32 MaxLen)
static const CharType * Strifind(const CharType *Str, const CharType *Find)
static FORCEINLINE const CharType * Strchr(const CharType *String, CharType c)
static FORCEINLINE CharType * Strupr(CharType *Dest, SIZE_T DestCount)
static CharType * Stristr(CharType *Str, const CharType *Find)
static const CharType * Tab(int32 NumTabs)
static FORCEINLINE int32 GetVarArgs(CharType *Dest, SIZE_T DestSize, int32 Count, const CharType *&Fmt, va_list ArgPtr)
static FORCEINLINE int64 Strtoi64(const CharType *Start, CharType **End, int32 Base)
static FORCEINLINE CharType * Strstr(CharType *String, const CharType *Find)
static FORCEINLINE CharType * Strcat(CharType(&Dest)[DestCount], const CharType *Src)
static FORCEINLINE const CharType * Strstr(const CharType *String, const CharType *Find)
static FORCEINLINE double Atod(const CharType *String)
static FORCEINLINE const CharType * Strrstr(const CharType *String, const CharType *Find)
static FORCEINLINE int32 Stricmp(const CharType *String1, const CharType *String2)
static FORCEINLINE int32 Strnicmp(const CharType *String1, const CharType *String2, SIZE_T Count)
static FORCEINLINE float Atof(const CharType *String)
static FORCEINLINE int32 Strlen(const CharType *String)
static FORCEINLINE int32 Strspn(const CharType *String, const CharType *Mask)
static FORCEINLINE int32 Atoi(const CharType *String)
static FORCEINLINE CharType * Strtok(CharType *TokenString, const CharType *Delim, CharType **Context)
static FORCEINLINE bool ToBool(const CharType *String)
static FORCEINLINE CharType * Strchr(CharType *String, CharType c)
static FORCEINLINE CharType * Strcat(CharType *Dest, SIZE_T DestCount, const CharType *Src)
static FORCEINLINE CharType * Strncpy(CharType *Dest, const CharType *Src, int32 MaxLen)
static FORCEINLINE CharType * Strrstr(CharType *String, const CharType *Find)
static FORCEINLINE CharType * Strcpy(CharType(&Dest)[DestCount], const CharType *Src)
static FORCEINLINE int32 Strncmp(const CharType *String1, const CharType *String2, SIZE_T Count)
static FORCEINLINE CharType * Strupr(CharType(&Dest)[DestCount])
static FORCEINLINE int32 Strtoi(const CharType *Start, CharType **End, int32 Base)
static FORCEINLINE const CharType * Strrchr(const CharType *String, CharType c)
static bool IsNumeric(const CharType *Str)
static const CharType * Spc(int32 NumSpaces)
static const CharType * Stristr(const CharType *Str, const CharType *Find)
static const CharType * StrfindDelim(const CharType *Str, const CharType *Find, const CharType *Delim=LITERAL(CharType, " \t,"))
static FORCEINLINE CharType * Strrchr(CharType *String, CharType c)
static FORCEINLINE int32 Strcspn(const CharType *String, const CharType *Mask)
static FORCEINLINE int64 Atoi64(const CharType *String)
static FORCEINLINE int32 Strcmp(const CharType *String1, const CharType *String2)
static const int32 MAX_TABS
static const int32 MAX_SPACES
const ArrayType & ConstReference
const T *const ConstPointerType
const T *const ConstPointerType
const ArrayType & ConstReference
TCallTraitsParamTypeHelper< T, PassByValue >::ConstParamType ConstPointerType
TCallTraitsParamTypeHelper< T, PassByValue >::ParamType ParamType
static const CharType NextLine
static const CharType FormFeed
static const CharType VerticalTab
static const CharType CarriageReturn
static const CharType LineFeed
static const CharType LineSeparator
static const CharType NextLine
static const CharType FormFeed
static const CharType CarriageReturn
static const CharType ParagraphSeparator
static const CharType VerticalTab
static const CharType LineFeed
static bool IsOctDigit(CharType Char)
static CharType ToLower(CharType Char)
static bool IsIdentifier(CharType Char)
static bool IsUnderscore(CharType Char)
static bool IsDigit(CharType Char)
static bool IsAlnum(CharType Char)
static bool IsWhitespace(CharType Char)
static bool IsPrint(CharType Char)
static bool IsLower(CharType Char)
static bool IsGraph(CharType Char)
static CharType ToUpper(CharType Char)
static int32 ConvertCharDigitToInt(CharType Char)
static bool IsHexDigit(CharType Char)
static bool IsUpper(CharType Char)
static bool IsPunct(CharType Char)
static bool IsAlpha(CharType Char)
static bool IsLinebreak(CharType Char)
FORCEINLINE friend bool operator!=(const TCheckedPointerIterator &Lhs, const TCheckedPointerIterator &Rhs)
TCheckedPointerIterator(const int32 &InNum, ElementType *InPtr)
FORCEINLINE TCheckedPointerIterator & operator++()
FORCEINLINE ElementType & operator*() const
FORCEINLINE TCheckedPointerIterator & operator--()
UE4Decay_Private::TDecayNonReference< typenameTRemoveReference< T >::Type >::Type Type
TTypeTraits< KeyType >::ConstPointerType KeyInitType
static FORCEINLINE KeyInitType GetSetKey(ElementInitType Element)
static FORCEINLINE bool Matches(KeyInitType A, KeyInitType B)
const TPairInitializer< typename TTypeTraits< KeyType >::ConstInitType, typename TTypeTraits< ValueType >::ConstInitType > & ElementInitType
static FORCEINLINE uint32 GetKeyHash(KeyInitType Key)
TDereferenceWrapper(const PREDICATE_CLASS &InPredicate)
const PREDICATE_CLASS & Predicate
FORCEINLINE bool operator()(T *A, T *B) const
TDereferenceWrapper(const PREDICATE_CLASS &InPredicate)
const PREDICATE_CLASS & Predicate
FORCEINLINE bool operator()(T &A, T &B)
FORCEINLINE bool operator()(const T &A, const T &B) const
FORCEINLINE TDereferencingIterator & operator++()
FORCEINLINE ElementType & operator*() const
FORCEINLINE friend bool operator!=(const TDereferencingIterator &Lhs, const TDereferencingIterator &Rhs)
TDereferencingIterator(IteratorType InIter)
FORCEINLINE const Type & operator*() const
TGuardValue(Type &ReferenceValue, const Type &NewValue)
FORCEINLINE bool operator()(const TKeyValuePair &A, const TKeyValuePair &B) const
bool operator!=(const TKeyValuePair &Other) const
TKeyValuePair(const KeyType &InKey, const ValueType &InValue)
bool operator==(const TKeyValuePair &Other) const
TKeyValuePair(const KeyType &InKey)
bool operator<(const TKeyValuePair &Other) const
FORCEINLINE bool operator()(const T &A, const T &B) const
FORCEINLINE bool operator()(const T &A, const T &B) const
static const WIDECHAR * Select(const ANSICHAR *, const WIDECHAR *wide)
static const WIDECHAR Select(const ANSICHAR, const WIDECHAR wide)
static const ANSICHAR Select(const ANSICHAR ansi, const WIDECHAR)
static const ANSICHAR * Select(const ANSICHAR *ansi, const WIDECHAR *)
TIntegerSequence< T, Values... > Type
TMakeIntegerSequenceImpl< T,(ToAdd-1==(T) 0), ToAdd-1, Values..., sizeof...(Values)>::Type Type
static FORCEINLINE TCHAR const * GetName()
TScopeCounter(Type &ReferenceValue)
TSubclassOf(UClass *uClass)
FORCEINLINE ObjectType * operator->() const
FORCEINLINE ObjectType & operator*() const
TTuple(ArgTypes &&... Args)
TTuple(const TTuple &)=default
UE4Tuple_Private::TTupleImpl< TMakeIntegerSequence< uint32, sizeof...(Types)>, Types... > Super
TTuple & operator=(TTuple &&)=default
TTuple(TTuple &&)=default
TTuple & operator=(const TTuple &)=default
static void FromString(T &Value, const TCHAR *Buffer)
static FString ToSanitizedString(const T &Value)
static FString ToString(const T &Value)
TCallTraits< T >::ParamType ConstInitType
TCallTraits< T >::ConstPointerType ConstPointerType
FORCEINLINE T & operator*()
TWeakObjectPtr(int index, int serialnumber)
T * Get(bool bEvenIfPendingKill=false)
FORCEINLINE bool operator==(const TWeakObjectPtr< T > &__that) const
FORCEINLINE operator bool()
FORCEINLINE operator T*()
FORCEINLINE T * operator->()
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
void GenerateDeterministicGuid()
FGuid & BlueprintGuidField()
TSubclassOf< UObject > & GeneratedClassField()
bool & bLegacyGeneratedClassIsAuthoritativeField()
TSubclassOf< UObject > & SkeletonGeneratedClassField()
bool & bLegacyNeedToPurgeSkelRefsField()
TArray< UActorComponent * > ComponentTemplatesField()
UObject * PRIVATE_InnermostPreviousCDOField()
void TagSubobjects(EObjectFlags NewFlags)
bool NeedsLoadForServer()
bool NeedsLoadForClient()
FString * GetDesc(FString *result)
TSubclassOf< UObject > & ParentClassField()
TEnumAsByte< enum EBlueprintType > & BlueprintTypeField()
int & BlueprintSystemVersionField()
static void * operator new(const unsigned __int64 InSize, UObject *InOuter, FName InName, EObjectFlags InSetFlags)
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
FString * GetCPPType(FString *result, FString *ExtendedTypeText, unsigned int CPPExportFlags)
bool Identical(const void *A, const void *B, unsigned int PortFlags)
void ClearValueInternal(void *Data)
void CopyValuesInternal(void *Dest, const void *Src, int Count)
void SetBoolSize(const unsigned int InSize, const bool bIsNativeBool, const unsigned int InBitMask)
FString * GetCPPMacroType(FString *result, FString *ExtendedTypeText)
bool ImplementsInterface(UClass *SomeInterface)
void SetSuperStruct(UStruct *NewSuperStruct)
UObject * GetDefaultSubobjectByName(FName ToFind)
void AssembleReferenceTokenStream()
FString * GetConfigName(FString *result)
TArray< FNativeFunctionLookup > & NativeFunctionLookupTableField()
unsigned int & ClassFlagsField()
FName * GetDefaultObjectName(FName *result)
void GetDefaultObjectSubobjects(TArray< UObject * > *OutDefaultSubobjects)
void PostInitProperties()
unsigned int EmitStructArrayBegin(int Offset, FName *DebugName, int Stride)
unsigned __int64 & ClassCastFlagsField()
const wchar_t * GetPrefixCPP()
bool HasProperty(UProperty *InProperty)
FString * GetDescription(FString *result)
FName & ClassConfigNameField()
UObject * CreateDefaultObject()
UObject * ClassDefaultObjectField()
bool Rename(const wchar_t *InName, UObject *NewOuter, unsigned int Flags)
void PurgeClass(bool bRecompilingOnLoad)
bool & bIsGameClassField()
TArray< UField * > NetFieldsField()
TMap< FName, UFunction * > FuncMapField()
UFunction * FindFunctionByName(FName InName, EIncludeSuperFlag::Type IncludeSuper)
void AddFunctionToFunctionMap(UFunction *NewFunction)
UObject * ClassGeneratedByField()
void DeferredRegister(UClass *UClassStaticClass, const wchar_t *PackageName, const wchar_t *Name)
UObject * GetDefaultObject(bool bCreateIfNeeded)
UClass * ClassWithinField()
void TagSubobjects(EObjectFlags NewFlags)
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
FromArrayType::Allocator FromAllocatorType
FromArrayType::ElementType FromElementType
ToArrayType::Allocator ToAllocatorType
ToArrayType::ElementType ToElementType
TRemoveCV< T >::Type Type
IFunction_OwnedObject * GetBoundObject() const
FFunctionStorage(FFunctionStorage &&Other)
FunctionAllocatorType::ForElementType< AlignedInlineFunctionType > AllocatorType
virtual ~IDebugHelper()=0
virtual IFunction_OwnedObject * CopyToEmptyStorage(FFunctionStorage &Storage) const =0
virtual void * GetAddress()=0
virtual ~IFunction_OwnedObject()=0
TFunction_OwnedObject(T &&InObj)
IFunction_OwnedObject * CopyToEmptyStorage(FFunctionStorage &Storage) const override
TFunction_OwnedObject(const T &InObj)
virtual void * GetAddress() override
static Ret Call(void *Obj, ParamTypes &...)
static void Call(void *, ParamTypes &...)
void CopyAndReseat(const TFunctionRefBase &Other, void *Functor)
TFunctionRefBase(ENoInit)
void Set(FunctorType *Functor)
Ret operator()(ParamTypes... Params) const
UE4Function_Private::TDebugHelper< void > DebugPtrStorage
static Ret Call(void *Obj, ParamTypes &... Params)
static void Call(void *Obj, ParamTypes &... Params)
static char(& Resolve(int))[2]
static FORCEINLINE bool Compare(TCHAR Lhs, TCHAR Rhs)
static FORCEINLINE bool Compare(TCHAR Lhs, TCHAR Rhs)
static FORCEINLINE bool Compare(const TupleType &Lhs, const TupleType &Rhs)
static FORCEINLINE bool Compare(const TupleType &Lhs, const TupleType &Rhs)
static FORCEINLINE bool Do(const TupleType &Lhs, const TupleType &Rhs)
static FORCEINLINE bool Do(const TupleType &Lhs, const TupleType &Rhs)
static FORCEINLINE bool Do(const TupleType &Lhs, const TupleType &Rhs)
TNthTypeFromParameterPack< N-1, OtherTypes... >::Type Type
static FORCEINLINE ElementType & Get(TupleType &Tuple)
static FORCEINLINE const ElementType & Get(const TupleType &Tuple)
TTupleElement(ArgTypes &&... Args)
TTupleElement(TTupleElement &&)=default
TTupleElement & operator=(const TTupleElement &)=default
TTupleElement(const TTupleElement &)=default
TTupleElement & operator=(TTupleElement &&)=default
decltype(auto) ApplyAfter(FuncType &&Func, ArgTypes &&... Args) const
TTupleImpl(const TTupleImpl &Other)=default
TTupleImpl & operator=(TTupleImpl &&Other)=default
FORCEINLINE friend bool operator==(const TTupleImpl &Lhs, const TTupleImpl &Rhs)
TTupleImpl(TTupleImpl &&Other)=default
FORCEINLINE friend bool operator<(const TTupleImpl &Lhs, const TTupleImpl &Rhs)
TTupleImpl & operator=(const TTupleImpl &Other)=default
FORCEINLINE friend bool operator!=(const TTupleImpl &Lhs, const TTupleImpl &Rhs)
FORCEINLINE friend bool operator>=(const TTupleImpl &Lhs, const TTupleImpl &Rhs)
FORCEINLINE friend bool operator<=(const TTupleImpl &Lhs, const TTupleImpl &Rhs)
TTupleStorage< TIntegerSequence< uint32, Indices... >, Types... > Super
FORCEINLINE friend bool operator>(const TTupleImpl &Lhs, const TTupleImpl &Rhs)
decltype(auto) ApplyBefore(FuncType &&Func, ArgTypes &&... Args) const
TTupleImpl(ArgTypes &&... Args)
static InKeyType & Get(TTupleStorage &Tuple)
static const InKeyType & Get(const TTupleStorage &Tuple)
FORCEINLINE const TGetHelper< Index, void >::ResultType & Get() const
TTupleStorage & operator=(TTupleStorage &&)=default
TTupleStorage & operator=(const TTupleStorage &)=default
TTupleStorage(TTupleStorage &&)=default
TTupleStorage(KeyInitType &&KeyInit, ValueInitType &&ValueInit)
FORCEINLINE TGetHelper< Index, void >::ResultType & Get()
TTupleStorage(const TTupleStorage &)=default
static InValueType & Get(TTupleStorage &Tuple)
static const InValueType & Get(const TTupleStorage &Tuple)
TTupleStorage(ArgTypes &&... Args)
TTupleStorage(TTupleStorage &&)=default
TTupleStorage & operator=(TTupleStorage &&)=default
TTupleStorage & operator=(const TTupleStorage &)=default
FORCEINLINE const TTupleElementHelper< Index, Types... >::Type & Get() const
TTupleStorage(const TTupleStorage &)=default
FORCEINLINE TTupleElementHelper< Index, Types... >::Type & Get()
static void Do(TupleType &&Tuple, FuncType Func)
static FORCEINLINE uint32 Do(uint32 Hash, const TupleType &Tuple)
static FORCEINLINE uint32 Do(uint32 Hash, const TupleType &Tuple)
void AddCppProperty(UProperty *Property)
UStruct * GetOwnerStruct()
unsigned __int16 ParmsSize
unsigned __int16 ReturnValueOffset
UProperty * FirstPropertyToInit
unsigned int FunctionFlags
unsigned __int16 RepOffset
unsigned __int16 RPCResponseId
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
FNavigationFilterFlags IncludeFlags
TArray< FNavigationFilterArea > Areas
FNavigationFilterFlags ExcludeFlags
double GetFloatingPointPropertyValue(void const *Data)
__int64 GetSignedIntPropertyValue(void const *Data)
unsigned __int64 GetUnsignedIntPropertyValue(void const *Data)
void DeferredRegister(UClass *UClassStaticClass, const wchar_t *PackageName, const wchar_t *InName)
bool IsValidLowLevelFast(bool bRecursive)
int & InternalIndexField()
void Register(const wchar_t *PackageName, const wchar_t *InName)
EObjectFlags & ObjectFlagsField()
static void EmitBaseReferences(UClass *RootClass)
void * GetInterfaceAddress(UClass *InterfaceClass)
int GetLinkerUE4Version()
FString * GetFullName(FString *result, UObject *StopOuter)
bool IsA(UClass *SomeBase)
void GetPathName(UObject *StopOuter, FString *ResultString)
bool IsDefaultSubobject()
FString * GetPathName(FString *result, UObject *StopOuter)
int GetLinkerLicenseeUE4Version()
bool IsIn(UObject *SomeOuter)
bool Modify(bool bAlwaysMarkDirty)
UFunction * FindFunctionChecked(FName InName)
void LoadConfig(UClass *ConfigClass, const wchar_t *InFilename, unsigned int PropagationFlags, UProperty *PropertyToLoad)
__declspec(dllexport) UProperty *FindProperty(FName name)
bool IsNameStableForNetworking()
FString * GetDetailedInfoInternal(FString *result)
bool IsFullNameStableForNetworking()
void CollectDefaultSubobjects(TArray< UObject * > *OutSubobjectArray, bool bIncludeNestedSubobjects)
bool IsSupportedForNetworking()
static UObject * GetArchetypeFromRequiredInfo(UClass *Class, UObject *Outer, FName Name, bool bIsCDO)
bool AreAllOuterObjectsValid()
bool IsBasedOnArchetype(UObject *const SomeObject)
FName * GetExporterName(FName *result)
static UClass * GetPrivateStaticClass()
bool CheckDefaultSubobjectsInternal()
void LocalizeProperty(UObject *LocBase, TArray< FString > *PropertyTagChain, UProperty *const BaseProperty, UProperty *const Property, void *const ValueAddress)
bool ConditionalFinishDestroy()
FString * GetDetailedInfo(FString *result)
void ProcessEvent(UFunction *Function, void *Parms)
void ConditionalPostLoad()
bool Rename(const wchar_t *InName, UObject *NewOuter, unsigned int Flags)
bool ConditionalBeginDestroy()
void ConditionalShutdownAfterError()
void LoadLocalized(UObject *LocBase, bool bLoadHierachecally)
static UClass * StaticClass()
void ExecuteUbergraph(int EntryPoint)
UClass * PropertyClassField()
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
UPrimalGameData * PrimalGameDataOverrideField()
UPrimalGameData * PrimalGameDataField()
FPrimalPlayerDataStruct * MyDataField()
void CopySingleValueFromScriptVM(void *Dest, const void *Src)
UProperty * NextRefField()
bool Identical(const void *A, const void *B, unsigned int PortFlags)
bool ExportText_Direct(FString *ValueStr, const void *Data, const void *Delta, UObject *Parent, int PortFlags, UObject *ExportRootScope)
FString * GetCPPMacroType(FString *result, FString *ExtendedTypeText)
bool Identical_InContainer(const void *A, const void *B, int ArrayIndex, unsigned int PortFlags)
FName & RepNotifyFuncField()
void Set(UObject *object, T value)
UProperty * PropertyLinkNextField()
UProperty * DestructorLinkNextField()
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
bool ShouldPort(unsigned int PortFlags)
bool ShouldDuplicateValue()
FName * GetID(FName *result)
unsigned __int64 & PropertyFlagsField()
void CopyCompleteValueFromScriptVM(void *Dest, const void *Src)
UProperty * PostConstructLinkNextField()
bool SameType(UProperty *Other)
FString * GetCPPType(FString *result, FString *ExtendedTypeText, unsigned int CPPExportFlags)
int & Offset_InternalField()
unsigned __int16 & RepIndexField()
FVector * GetWorldLocation(FVector *result)
UProperty * PropertyLinkField()
void TagSubobjects(EObjectFlags NewFlags)
bool IsChildOf(UStruct *SomeBase)
UProperty * RefLinkField()
void LinkChild(UProperty *Property)
int & PropertiesSizeField()
int & MinAlignmentField()
UProperty * PostConstructLinkField()
void StaticLink(bool bRelinkExistingProperties)
void RegisterDependencies()
const wchar_t * GetPrefixCPP()
void SetSuperStruct(UStruct *NewSuperStruct)
UProperty * DestructorLinkField()
TArray< unsigned char > & ScriptField()
TArray< UObject * > ScriptObjectReferencesField()
UStruct * SuperStructField()
UScriptStruct * StructField()
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
static UClass * StaticClass()
FTextureResource * CreateResource()
__int64 GetResourceSize(EResourceSizeMode type)
void GetMipData(int FirstMipToLoad, void **OutMipData)
static UClass * StaticClass()
static TArray< AActor * > * ServerOctreeOverlapActors(TArray< AActor * > *result, UWorld *theWorld, FVector AtLoc, float Radius, EServerOctreeGroup::Type OctreeType, bool bForceActorLocationDistanceCheck)
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
TArray< TAutoWeakObjectPtr< APlayerController > > & PlayerControllerListField()
APlayerController * GetFirstPlayerController()
AGameState * GameStateField()
AlignSpec(unsigned width, wchar_t fill, Alignment align=ALIGN_DEFAULT)
bool flag(unsigned) const
AlignTypeSpec(unsigned width, wchar_t fill)
BasicCStringRef< Char > sep
ArgJoin(It first, It last, const BasicCStringRef< Char > &sep)
bool flag(unsigned) const
WidthSpec(unsigned width, wchar_t fill)
static Arg make(const T &value)
Value Type[N > 0 ? N :+1]
static Value make(const T &value)
static const uint32_t POWERS_OF_10_32[]
static const char DIGITS[]
static const uint64_t POWERS_OF_10_64[]
NamedArg(BasicStringRef< Char > argname, const T &value)
BasicStringRef< Char > name
NamedArgWithType(BasicStringRef< Char > argname, const T &value)
static bool is_negative(T)
static bool is_negative(T value)
void(* FormatFunc)(void *formatter, const void *arg, void *format_str_ptr)
StringValue< wchar_t > wstring
StringValue< signed char > sstring
ULongLong ulong_long_value
long double long_double_value
StringValue< char > string
StringValue< unsigned char > ustring
async_msg(const async_msg &)=delete
log_clock::time_point time
async_msg & operator=(const async_msg &other)=delete
void fill_log_msg(log_msg &msg)
async_msg(const details::log_msg &m)
async_msg & operator=(async_msg &&other) SPDLOG_NOEXCEPT
async_msg(async_msg_type m_type)
async_msg(async_msg &&other) SPDLOG_NOEXCEPT
const std::string * logger_name
fmt::MemoryWriter formatted
log_clock::time_point time
log_msg(const log_msg &other)=delete
log_msg & operator=(log_msg &&other)=delete
log_msg(log_msg &&other)=delete
std::atomic< size_t > sequence_
int load(std::memory_order) const
null_atomic_int()=default
static filename_t calc_filename(const filename_t &filename)
static filename_t calc_filename(const filename_t &filename)