Ark Server API (ASE) - Wiki
Loading...
Searching...
No Matches
UnrealTemplate.h
Go to the documentation of this file.
1// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "../BasicTypes.h"
6#include "IsPointer.h"
7#include "../HAL/UnrealMemory.h"
8#include "EnableIf.h"
9#include "AndOrNot.h"
10#include "AreTypesEqual.h"
11#include "IsArithmetic.h"
16
17/*-----------------------------------------------------------------------------
18 Standard templates.
19-----------------------------------------------------------------------------*/
20
21/**
22 * Chooses between the two parameters based on whether the first is nullptr or not.
23 * @return If the first parameter provided is non-nullptr, it is returned; otherwise the second parameter is returned.
24 */
25template<typename ReferencedType>
26FORCEINLINE ReferencedType* IfAThenAElseB(ReferencedType* A,ReferencedType* B)
27{
28 const PTRINT IntA = reinterpret_cast<PTRINT>(A);
29 const PTRINT IntB = reinterpret_cast<PTRINT>(B);
30
31 // Compute a mask which has all bits set if IntA is zero, and no bits set if it's non-zero.
32 const PTRINT MaskB = -(!IntA);
33
34 return reinterpret_cast<ReferencedType*>(IntA | (MaskB & IntB));
35}
36
37/** branchless pointer selection based on predicate
38* return PTRINT(Predicate) ? A : B;
39**/
40template<typename PredicateType,typename ReferencedType>
41FORCEINLINE ReferencedType* IfPThenAElseB(PredicateType Predicate,ReferencedType* A,ReferencedType* B)
42{
43 const PTRINT IntA = reinterpret_cast<PTRINT>(A);
44 const PTRINT IntB = reinterpret_cast<PTRINT>(B);
45
46 // Compute a mask which has all bits set if Predicate is zero, and no bits set if it's non-zero.
47 const PTRINT MaskB = -(!PTRINT(Predicate));
48
49 return reinterpret_cast<ReferencedType*>((IntA & ~MaskB) | (IntB & MaskB));
50}
51
52/** A logical exclusive or function. */
53inline bool XOR(bool A, bool B)
54{
55 return A != B;
56}
57
58/** This is used to provide type specific behavior for a copy which cannot change the value of B. */
59template<typename T>
60FORCEINLINE void Move(T& A,typename TMoveSupportTraits<T>::Copy B)
61{
62 // Destruct the previous value of A.
63 A.~T();
64
65 // Use placement new and a copy constructor so types with const members will work.
66 new(&A) T(B);
67}
68
69/** This is used to provide type specific behavior for a move which may change the value of B. */
70template<typename T>
71FORCEINLINE void Move(T& A,typename TMoveSupportTraits<T>::Move B)
72{
73 // Destruct the previous value of A.
74 A.~T();
75
76 // Use placement new and a copy constructor so types with const members will work.
77 new(&A) T(MoveTemp(B));
78}
79
80/**
81 * Generically gets the data pointer of a contiguous container
82 */
83template<typename T, typename = typename TEnableIf<TIsContiguousContainer<T>::Value>::Type>
84auto GetData(T&& Container) -> decltype(Container.GetData())
85{
86 return Container.GetData();
87}
88
89template <typename T, SIZE_T N>
90CONSTEXPR T* GetData(T (&Container)[N])
91{
92 return Container;
93}
94
95template <typename T>
96CONSTEXPR T* GetData(std::initializer_list<T> List)
97{
98 return List.begin();
99}
100
101/**
102* Generically gets the number of items in a contiguous container
103*/
104template<typename T, typename = typename TEnableIf<TIsContiguousContainer<T>::Value>::Type>
105SIZE_T GetNum(T&& Container)
106{
107 return (SIZE_T)Container.Num();
108}
109
110template <typename T, SIZE_T N>
111CONSTEXPR SIZE_T GetNum(T (&Container)[N])
112{
113 return N;
114}
115
116template <typename T>
117CONSTEXPR SIZE_T GetNum(std::initializer_list<T> List)
118{
119 return List.size();
120}
121
122/*----------------------------------------------------------------------------
123 Standard macros.
124----------------------------------------------------------------------------*/
125
126#ifdef __clang__
127 template <typename T>
128 auto ArrayCountHelper(T& t) -> typename TEnableIf<__is_array(T), char(&)[sizeof(t) / sizeof(t[0]) + 1]>::Type;
129#else
130 template <typename T, uint32 N>
131 char (&ArrayCountHelper(const T (&)[N]))[N + 1];
132#endif
133
134// Number of elements in an array.
135#define ARRAY_COUNT( array ) (sizeof(ArrayCountHelper(array)) - 1)
136
137// Offset of a struct member.
138#ifndef UNREAL_CODE_ANALYZER
139// UCA uses clang on Windows. According to C++11 standard, (which in this case clang follows and msvc doesn't)
140// forbids using reinterpret_cast in constant expressions. msvc uses reinterpret_cast in offsetof macro,
141// while clang uses compiler intrinsic. Calling static_assert(STRUCT_OFFSET(x, y) == SomeValue) causes compiler
142// error when using clang on Windows (while including windows headers).
143#define STRUCT_OFFSET( struc, member ) offsetof(struc, member)
144#else
145#define STRUCT_OFFSET( struc, member ) __builtin_offsetof(struc, member)
146#endif
147
148#if PLATFORM_VTABLE_AT_END_OF_CLASS
149 #error need implementation
150#else
151 #define VTABLE_OFFSET( Class, MultipleInheritenceParent ) ( ((PTRINT) static_cast<MultipleInheritenceParent*>((Class*)1)) - 1)
152#endif
153
154
155/**
156 * works just like std::min_element.
157 */
158template<class ForwardIt> inline
159ForwardIt MinElement(ForwardIt First, ForwardIt Last)
160{
161 ForwardIt Result = First;
162 for (; ++First != Last; )
163 {
164 if (*First < *Result)
165 {
166 Result = First;
167 }
168 }
169 return Result;
170}
171
172/**
173 * works just like std::min_element.
174 */
175template<class ForwardIt, class PredicateType> inline
176ForwardIt MinElement(ForwardIt First, ForwardIt Last, PredicateType Predicate)
177{
178 ForwardIt Result = First;
179 for (; ++First != Last; )
180 {
181 if (Predicate(*First,*Result))
182 {
183 Result = First;
184 }
185 }
186 return Result;
187}
188
189/**
190* works just like std::max_element.
191*/
192template<class ForwardIt> inline
193ForwardIt MaxElement(ForwardIt First, ForwardIt Last)
194{
195 ForwardIt Result = First;
196 for (; ++First != Last; )
197 {
198 if (*Result < *First)
199 {
200 Result = First;
201 }
202 }
203 return Result;
204}
205
206/**
207* works just like std::max_element.
208*/
209template<class ForwardIt, class PredicateType> inline
210ForwardIt MaxElement(ForwardIt First, ForwardIt Last, PredicateType Predicate)
211{
212 ForwardIt Result = First;
213 for (; ++First != Last; )
214 {
215 if (Predicate(*Result,*First))
216 {
217 Result = First;
218 }
219 }
220 return Result;
221}
222
223/**
224 * utility template for a class that should not be copyable.
225 * Derive from this class to make your class non-copyable
226 */
228{
229protected:
230 // ensure the class cannot be constructed directly
232 // the class should not be used polymorphically
234private:
237};
238
239
240/**
241 * exception-safe guard around saving/restoring a value.
242 * Commonly used to make sure a value is restored
243 * even if the code early outs in the future.
244 * Usage:
245 * TGuardValue<bool> GuardSomeBool(bSomeBool, false); // Sets bSomeBool to false, and restores it in dtor.
246 */
247template <typename Type>
248struct TGuardValue : private FNoncopyable
249{
250 TGuardValue(Type& ReferenceValue, const Type& NewValue)
252 {
254 }
256 {
258 }
259
260 /**
261 * Overloaded dereference operator.
262 * Provides read-only access to the original value of the data being tracked by this struct
263 *
264 * @return a const reference to the original data value
265 */
266 FORCEINLINE const Type& operator*() const
267 {
268 return OldValue;
269 }
270
271private:
272 Type& RefValue;
274};
275
276
277/**
278 * Commonly used to make sure a value is incremented, and then decremented anyway the function can terminate.
279 * Usage:
280 * TScopeCounter<int32> BeginProcessing(ProcessingCount); // increments ProcessingCount, and decrements it in the dtor
281 */
282template <typename Type>
284{
285 TScopeCounter(Type& ReferenceValue)
287 {
288 ++RefValue;
289 }
291 {
292 --RefValue;
293 }
294
295private:
296 Type& RefValue;
297};
298
299
300/**
301 * Helper class to make it easy to use key/value pairs with a container.
302 */
303template <typename KeyType, typename ValueType>
305{
306 TKeyValuePair( const KeyType& InKey, const ValueType& InValue )
308 {
309 }
310 TKeyValuePair( const KeyType& InKey )
311 : Key(InKey)
312 {
313 }
315 {
316 }
317 bool operator==( const TKeyValuePair& Other ) const
318 {
319 return Key == Other.Key;
320 }
321 bool operator!=( const TKeyValuePair& Other ) const
322 {
323 return Key != Other.Key;
324 }
325 bool operator<( const TKeyValuePair& Other ) const
326 {
327 return Key < Other.Key;
328 }
329 FORCEINLINE bool operator()( const TKeyValuePair& A, const TKeyValuePair& B ) const
330 {
331 return A.Key < B.Key;
332 }
333 KeyType Key;
334 ValueType Value;
335};
336
337//
338// Macros that can be used to specify multiple template parameters in a macro parameter.
339// This is necessary to prevent the macro parsing from interpreting the template parameter
340// delimiting comma as a macro parameter delimiter.
341//
342
343#define TEMPLATE_PARAMETERS2(X,Y) X,Y
344
345
346/**
347 * Removes one level of pointer from a type, e.g.:
348 *
349 * TRemovePointer< int32 >::Type == int32
350 * TRemovePointer< int32* >::Type == int32
351 * TRemovePointer< int32**>::Type == int32*
352 * TRemovePointer<const int32* >::Type == const int32
353 */
354template <typename T> struct TRemovePointer { typedef T Type; };
355template <typename T> struct TRemovePointer<T*> { typedef T Type; };
356
357/**
358 * MoveTemp will cast a reference to an rvalue reference.
359 * This is UE's equivalent of std::move except that it will not compile when passed an rvalue or
360 * const object, because we would prefer to be informed when MoveTemp will have no effect.
361 */
362template <typename T>
363FORCEINLINE typename TRemoveReference<T>::Type&& MoveTemp(T&& Obj)
364{
365 typedef typename TRemoveReference<T>::Type CastType;
366
367 // Validate that we're not being passed an rvalue or a const object - the former is redundant, the latter is almost certainly a mistake
368 static_assert(TIsLValueReferenceType<T>::Value, "MoveTemp called on an rvalue");
369 static_assert(!TAreTypesEqual<CastType&, const CastType&>::Value, "MoveTemp called on a const object");
370
371 return (CastType&&)Obj;
372}
373
374/**
375 * MoveTemp will cast a reference to an rvalue reference.
376 * This is UE's equivalent of std::move. It doesn't static assert like MoveTemp, because it is useful in
377 * templates or macros where it's not obvious what the argument is, but you want to take advantage of move semantics
378 * where you can but not stop compilation.
379 */
380template <typename T>
381FORCEINLINE typename TRemoveReference<T>::Type&& MoveTempIfPossible(T&& Obj)
382{
383 typedef typename TRemoveReference<T>::Type CastType;
384 return (CastType&&)Obj;
385}
386
387/**
388 * CopyTemp will enforce the creation of an rvalue which can bind to rvalue reference parameters.
389 * Unlike MoveTemp, the source object will never be modifed. (i.e. a copy will be made)
390 * There is no std:: equivalent.
391 */
392template <typename T>
393FORCEINLINE T CopyTemp(T& Val)
394{
395 return const_cast<const T&>(Val);
396}
397
398template <typename T>
399FORCEINLINE T CopyTemp(const T& Val)
400{
401 return Val;
402}
403
404template <typename T>
405FORCEINLINE T&& CopyTemp(T&& Val)
406{
407 // If we already have an rvalue, just return it unchanged, rather than needlessly creating yet another rvalue from it.
408 return MoveTemp(Val);
409}
410
411/**
412 * Forward will cast a reference to an rvalue reference.
413 * This is UE's equivalent of std::forward.
414 */
415template <typename T>
416FORCEINLINE T&& Forward(typename TRemoveReference<T>::Type& Obj)
417{
418 return (T&&)Obj;
419}
420
421template <typename T>
422FORCEINLINE T&& Forward(typename TRemoveReference<T>::Type&& Obj)
423{
424 return (T&&)Obj;
425}
426
427/**
428 * A traits class which specifies whether a Swap of a given type should swap the bits or use a traditional value-based swap.
429 */
430template <typename T>
432{
433 // We don't use bitwise swapping for 'register' types because this will force them into memory and be slower.
434 enum { Value = !TOrValue<__is_enum(T), TIsPointer<T>, TIsArithmetic<T>>::Value };
435};
436
437
438/**
439 * Swap two values. Assumes the types are trivially relocatable.
440 */
441template <typename T>
442inline typename TEnableIf<TUseBitwiseSwap<T>::Value>::Type Swap(T& A, T& B)
443{
444 if (&A != &B)
445 {
446 TTypeCompatibleBytes<T> Temp;
447 FMemory::Memcpy(&Temp, &A, sizeof(T));
448 FMemory::Memcpy(&A, &B, sizeof(T));
449 FMemory::Memcpy(&B, &Temp, sizeof(T));
450 }
451}
452
453/**
454 * Swap two values. Assumes the types are trivially relocatable.
455 */
456template <typename T>
457inline typename TEnableIf<!TUseBitwiseSwap<T>::Value>::Type Swap(T& A, T& B)
458{
459 T Temp = MoveTemp(A);
460 A = MoveTemp(B);
461 B = MoveTemp(Temp);
462}
463
464template <typename T>
465inline void Exchange(T& A, T& B)
466{
467 Swap(A, B);
468}
469
470/**
471 * This exists to avoid a Visual Studio bug where using a cast to forward an rvalue reference array argument
472 * to a pointer parameter will cause bad code generation. Wrapping the cast in a function causes the correct
473 * code to be generated.
474 */
475template <typename T, typename ArgType>
476FORCEINLINE T StaticCast(ArgType&& Arg)
477{
478 return static_cast<T>(Arg);
479}
480
481/**
482 * TRValueToLValueReference converts any rvalue reference type into the equivalent lvalue reference, otherwise returns the same type.
483 */
484template <typename T> struct TRValueToLValueReference { typedef T Type; };
485template <typename T> struct TRValueToLValueReference<T&&> { typedef T& Type; };
486
487/**
488 * Reverses the order of the bits of a value.
489 * This is an TEnableIf'd template to ensure that no undesirable conversions occur. Overloads for other types can be added in the same way.
490 *
491 * @param Bits - The value to bit-swap.
492 * @return The bit-swapped value.
493 */
494template <typename T>
495FORCEINLINE typename TEnableIf<TAreTypesEqual<T, uint32>::Value, T>::Type ReverseBits( T Bits )
496{
497 Bits = ( Bits << 16) | ( Bits >> 16);
498 Bits = ( (Bits & 0x00ff00ff) << 8 ) | ( (Bits & 0xff00ff00) >> 8 );
499 Bits = ( (Bits & 0x0f0f0f0f) << 4 ) | ( (Bits & 0xf0f0f0f0) >> 4 );
500 Bits = ( (Bits & 0x33333333) << 2 ) | ( (Bits & 0xcccccccc) >> 2 );
501 Bits = ( (Bits & 0x55555555) << 1 ) | ( (Bits & 0xaaaaaaaa) >> 1 );
502 return Bits;
503}
504
505/** Template for initializing a singleton at the boot. */
506template< class T >
508{
510 {
511 T::Get();
512 }
513};
514
515/** Used to avoid cluttering code with ifdefs. */
517{
519 {}
520
522 {}
523};
524
525/**
526 * Copies the cv-qualifiers from one type to another, e.g.:
527 *
528 * TCopyQualifiersFromTo<const T1, T2>::Type == const T2
529 * TCopyQualifiersFromTo<volatile T1, const T2>::Type == const volatile T2
530 */
531template <typename From, typename To> struct TCopyQualifiersFromTo { typedef To Type; };
532template <typename From, typename To> struct TCopyQualifiersFromTo<const From, To> { typedef const To Type; };
533template <typename From, typename To> struct TCopyQualifiersFromTo< volatile From, To> { typedef volatile To Type; };
534template <typename From, typename To> struct TCopyQualifiersFromTo<const volatile From, To> { typedef const volatile To Type; };
535
536/**
537 * Tests if qualifiers are lost between one type and another, e.g.:
538 *
539 * TCopyQualifiersFromTo<const T1, T2>::Value == true
540 * TCopyQualifiersFromTo<volatile T1, const volatile T2>::Value == false
541 */
542template <typename From, typename To>
544{
545 enum { Value = !TAreTypesEqual<typename TCopyQualifiersFromTo<From, To>::Type, To>::Value };
546};
547
548/**
549 * Returns the same type passed to it. This is useful in a few cases, but mainly for inhibiting template argument deduction in function arguments, e.g.:
550 *
551 * template <typename T>
552 * void Func1(T Val); // Can be called like Func(123) or Func<int>(123);
553 *
554 * template <typename T>
555 * void Func2(typename TIdentity<T>::Type Val); // Must be called like Func<int>(123)
556 */
557template <typename T>
559{
560 typedef T Type;
561};
562
563/**
564 * Equivalent to std::declval.
565 *
566 * Note that this function is unimplemented, and is only intended to be used in unevaluated contexts, like sizeof and trait expressions.
567 */
568template <typename T>
static unsigned int GetBuildUniqueId()
Definition Atlas.h:30
ARK_API LPVOID GetDataAddress(const std::string &name)
Definition Base.cpp:15
ARK_API BitField GetBitField(LPVOID base, const std::string &name)
Definition Base.cpp:25
ARK_API BitField GetBitField(const void *base, const std::string &name)
Definition Base.cpp:20
#define ARK_API
Definition Base.h:9
ARK_API DWORD64 GetAddress(const void *base, const std::string &name)
Definition Base.cpp:5
ARK_API LPVOID GetAddress(const std::string &name)
Definition Base.cpp:10
FPlatformTypes::CHAR16 UCS2CHAR
A 16-bit character containing a UCS2 (Unicode, 16-bit, fixed-width) code unit, used for compatibility...
Definition BasicTypes.h:124
#define checkSlow(expr)
Definition BasicTypes.h:15
@ INDEX_NONE
Definition BasicTypes.h:144
FWindowsPlatformTypes FPlatformTypes
Definition BasicTypes.h:94
#define PLATFORM_LITTLE_ENDIAN
Definition BasicTypes.h:12
FPlatformTypes::CHAR8 UTF8CHAR
An 8-bit character containing a UTF8 (Unicode, 8-bit, variable-width) code unit.
Definition BasicTypes.h:122
ENoInit
Definition BasicTypes.h:151
@ NoInit
Definition BasicTypes.h:151
#define check(expr)
Definition BasicTypes.h:14
#define FORCENOINLINE
Definition BasicTypes.h:6
#define checkf(...)
Definition BasicTypes.h:16
#define ensureMsgf(Expr, Expr2)
Definition BasicTypes.h:19
#define RESTRICT
Definition BasicTypes.h:5
FPlatformTypes::CHAR16 UTF16CHAR
A 16-bit character containing a UTF16 (Unicode, 16-bit, variable-width) code unit.
Definition BasicTypes.h:126
#define CONSTEXPR
Definition BasicTypes.h:7
EForceInit
Definition BasicTypes.h:147
@ ForceInitToZero
Definition BasicTypes.h:149
@ ForceInit
Definition BasicTypes.h:148
FPlatformTypes::CHAR32 UTF32CHAR
A 32-bit character containing a UTF32 (Unicode, 32-bit, fixed-width) code unit.
Definition BasicTypes.h:128
TCString< TCHAR > FCString
Definition CString.h:335
TChar< TCHAR > FChar
Definition Char.h:142
int32 FindMatchingClosingParenthesis(const FString &TargetString, const int32 StartSearch)
Definition FString.h:3011
int32 HexToBytes(const FString &HexString, uint8 *OutBytes)
Definition FString.h:1803
const TCHAR * GetData(const FString &String)
Definition FString.h:1672
const uint8 TCharToNibble(const TCHAR Char)
Definition FString.h:1783
const bool CheckTCharIsHex(const TCHAR Char)
Definition FString.h:1773
FORCEINLINE uint32 GetTypeHash(const FString &Thing)
Definition FString.h:1646
TCHAR * GetData(FString &String)
Definition FString.h:1667
SIZE_T GetNum(const FString &String)
Definition FString.h:1677
void ByteToHex(uint8 In, FString &Result)
Definition FString.h:1743
static const uint32 MaxSupportedEscapeChars
Definition FString.h:2924
FString BytesToHex(const uint8 *In, int32 Count)
Definition FString.h:1755
int32 StringToBytes(const FString &String, uint8 *OutBytes, int32 MaxBufferSize)
Definition FString.h:1714
static const TCHAR * CharToEscapeSeqMap[][2]
Definition FString.h:2913
TCHAR NibbleToTChar(uint8 Num)
Definition FString.h:1729
FString BytesToString(const uint8 *In, int32 Count)
Definition FString.h:1688
ARK_API std::vector< spdlog::sink_ptr > &APIENTRY GetLogSinks()
Definition Logger.cpp:31
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type CopyAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
Definition MemoryOps.h:162
FMicrosoftPlatformString FPlatformString
#define WIN32_LEAN_AND_MEAN
Definition Requests.cpp:2
#define TARRAY_RANGED_FOR_CHECKS
Definition TArray.h:15
FORCEINLINE TIndexedContainerIterator< ContainerType, ElementType, IndexType > operator+(int32 Offset, TIndexedContainerIterator< ContainerType, ElementType, IndexType > RHS)
Definition TArray.h:141
void * operator new(size_t Size, TArray< T, Allocator > &Array, int32 Index)
Definition TArray.h:2152
void * operator new(size_t Size, TArray< T, Allocator > &Array)
Definition TArray.h:2146
#define THRESH_VECTOR_NORMALIZED
#define THRESH_NORMALS_ARE_PARALLEL
#define THRESH_POINTS_ARE_SAME
#define SMALL_NUMBER
#define THRESH_POINT_ON_PLANE
#define PI
#define THRESH_NORMALS_ARE_ORTHOGONAL
#define KINDA_SMALL_NUMBER
#define BIG_NUMBER
#define FASTASIN_HALF_PI
#define HALF_PI
#define INV_PI
@ MIN_ALIGNMENT
@ DEFAULT_ALIGNMENT
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)
T && DeclVal()
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)
bool XOR(bool A, bool B)
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 float ComputeSquaredDistanceFromBoxToPoint(const FVector &Mins, const FVector &Maxs, const FVector &Point)
Definition Vector.h:893
FORCEINLINE FVector ClampVector(const FVector &V, const FVector &Min, const FVector &Max)
Definition Vector.h:1646
FORCEINLINE FVector operator*(float Scale, const FVector &V)
Definition Vector.h:870
ApiUtils & operator=(ApiUtils &&)=delete
ApiUtils()=default
void SetCheatManager(UShooterCheatManager *cheatmanager)
Definition ApiUtils.cpp:44
void SetWorld(UWorld *uworld)
Definition ApiUtils.cpp:9
ApiUtils & operator=(const ApiUtils &)=delete
void SetShooterGameMode(AShooterGameMode *shooter_game_mode)
Definition ApiUtils.cpp:21
std::unordered_map< uint64, AShooterPlayerController * > steam_id_map_
Definition ApiUtils.h:38
UShooterCheatManager * GetCheatManager() const override
Returns a point to URCON CheatManager.
Definition ApiUtils.cpp:93
UWorld * u_world_
Definition ApiUtils.h:34
ApiUtils(ApiUtils &&)=delete
AShooterGameMode * shooter_game_mode_
Definition ApiUtils.h:35
AShooterGameMode * GetShooterGameMode() const override
Returns a pointer to AShooterGameMode.
Definition ApiUtils.cpp:26
void RemovePlayerController(AShooterPlayerController *player_controller)
Definition ApiUtils.cpp:62
UShooterCheatManager * cheatmanager_
Definition ApiUtils.h:37
void SetPlayerController(AShooterPlayerController *player_controller)
Definition ApiUtils.cpp:49
ServerStatus GetStatus() const override
Returns the current server status.
Definition ApiUtils.cpp:38
ServerStatus status_
Definition ApiUtils.h:36
AShooterPlayerController * FindPlayerFromSteamId_Internal(uint64 steam_id) const override
Definition ApiUtils.cpp:75
~ApiUtils() override=default
void SetStatus(ServerStatus status)
Definition ApiUtils.cpp:33
UWorld * GetWorld() const override
Returns a pointer to UWorld.
Definition ApiUtils.cpp:14
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.
void Set(RT other)
Definition Fields.h:144
BitFieldValue & operator=(RT other)
Definition Fields.h:133
void * parent_
Definition Fields.h:150
std::string field_name_
Definition Fields.h:151
RT operator()() const
Definition Fields.h:128
RT Get() const
Definition Fields.h:139
T * value_
Definition Fields.h:116
void Set(const T &other)
Definition Fields.h:110
T & Get() const
Definition Fields.h:105
DataValue & operator=(const T &other)
Definition Fields.h:99
T & operator()() const
Definition Fields.h:94
FNoncopyable(const FNoncopyable &)
FNoncopyable & operator=(const FNoncopyable &)
FORCEINLINE const DataType & GetCharArray() const
Definition FString.h:299
FORCEINLINE friend bool operator<=(const FString &Lhs, const CharType *Rhs)
Definition FString.h:844
FORCEINLINE void RemoveAt(int32 Index, int32 Count=1, bool bAllowShrinking=true)
Definition FString.h:435
FORCEINLINE friend FString operator+(FString &&Lhs, FString &&Rhs)
Definition FString.h:661
FORCEINLINE FString & Append(const FString &Text)
Definition FString.h:396
FORCEINLINE uint32 GetAllocatedSize() const
Definition FString.h:214
void ToUpperInline()
Definition FString.h:2097
FString TrimStart() const &
Definition FString.h:2296
int32 Find(const TCHAR *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
Definition FString.h:2027
FORCEINLINE friend FString operator/(const FString &Lhs, const FString &Rhs)
Definition FString.h:781
FORCEINLINE FString(const std::string &str)
Definition FString.h:129
int32 ParseIntoArray(TArray< FString > &OutArray, const TCHAR **DelimArray, int32 NumDelims, bool InCullEmpty=true) const
Definition FString.h:2702
bool IsNumeric() const
Definition FString.h:2541
FORCEINLINE friend FString operator+(const FString &Lhs, const TCHAR *Rhs)
Definition FString.h:700
FORCEINLINE friend bool operator!=(const FString &Lhs, const CharType *Rhs)
Definition FString.h:1049
FORCEINLINE int32 Find(const FString &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
Definition FString.h:1128
FORCEINLINE friend DataType::RangedForIteratorType end(FString &Str)
Definition FString.h:210
FORCEINLINE friend FString operator+(FString &&Lhs, const FString &Rhs)
Definition FString.h:635
FString(FString &&)=default
FORCEINLINE FString & operator=(const TCHAR *Other)
Definition FString.h:147
FORCEINLINE friend bool operator<(const CharType *Lhs, const FString &Rhs)
Definition FString.h:899
FString TrimEnd() const &
Definition FString.h:2320
void TrimStartInline()
Definition FString.h:2286
FString Replace(const TCHAR *From, const TCHAR *To, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition FString.h:2766
FORCEINLINE FString LeftChop(int32 Count) const
Definition FString.h:1081
FORCEINLINE bool FindChar(TCHAR InChar, int32 &Index) const
Definition FString.h:1169
FORCEINLINE friend bool operator!=(const FString &Lhs, const FString &Rhs)
Definition FString.h:1035
int32 ReplaceInline(const TCHAR *SearchText, const TCHAR *ReplacementText, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition FString.h:2805
FORCEINLINE FString Mid(int32 Start, int32 Count=INT_MAX) const
Definition FString.h:1099
FORCEINLINE FString(FString &&Other, int32 ExtraSlack)
Definition FString.h:87
static FORCEINLINE FString ConcatFStrings(typename TIdentity< LhsType >::Type Lhs, typename TIdentity< RhsType >::Type Rhs)
Definition FString.h:550
static FString Chr(TCHAR Ch)
Definition FString.h:2494
FORCEINLINE friend DataType::RangedForIteratorType begin(FString &Str)
Definition FString.h:208
FORCEINLINE friend FString operator+(const FString &Lhs, FString &&Rhs)
Definition FString.h:648
FORCEINLINE DataType & GetCharArray()
Definition FString.h:293
FORCEINLINE friend bool operator==(const FString &Lhs, const CharType *Rhs)
Definition FString.h:1008
static FORCEINLINE FString FromInt(int32 Num)
Definition FString.h:1548
FORCEINLINE FString & operator+=(const FString &Str)
Definition FString.h:500
FString & Append(const TCHAR *Text, int32 Count)
Definition FString.h:402
FORCEINLINE FString & operator/=(const FString &Str)
Definition FString.h:736
FString TrimStart() &&
Definition FString.h:2303
FORCEINLINE friend FString operator+(const FString &Lhs, const FString &Rhs)
Definition FString.h:622
FORCEINLINE int32 Compare(const FString &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
Definition FString.h:1240
FORCEINLINE friend bool operator<=(const CharType *Lhs, const FString &Rhs)
Definition FString.h:858
FORCEINLINE friend bool operator==(const FString &Lhs, const FString &Rhs)
Definition FString.h:994
FString TrimStartAndEnd() &&
Definition FString.h:2279
FORCEINLINE friend FString operator+(const TCHAR *Lhs, const FString &Rhs)
Definition FString.h:674
FORCEINLINE TIterator CreateIterator()
Definition FString.h:192
FORCEINLINE void Reserve(const uint32 CharacterCount)
Definition FString.h:1542
FString ReplaceQuotesWithEscapedQuotes() const
Definition FString.h:2880
FString & operator=(FString &&)=default
static int32 CullArray(TArray< FString > *InArray)
Definition FString.h:2361
bool MatchesWildcard(const FString &Wildcard, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition FString.h:2585
FString Reverse() const
Definition FString.h:2368
FString ConvertTabsToSpaces(const int32 InSpacesPerTab)
Definition FString.h:2980
bool StartsWith(const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition FString.h:2131
FORCEINLINE friend bool operator!=(const CharType *Lhs, const FString &Rhs)
Definition FString.h:1063
static FORCEINLINE FString ConcatTCHARsToFString(const TCHAR *Lhs, typename TIdentity< RhsType >::Type Rhs)
Definition FString.h:569
FORCEINLINE FString Left(int32 Count) const
Definition FString.h:1075
static bool ToHexBlob(const FString &Source, uint8 *DestBuffer, const uint32 DestSize)
Definition FString.h:2471
int32 ParseIntoArrayLines(TArray< FString > &OutArray, bool InCullEmpty=true) const
Definition FString.h:2684
FORCEINLINE bool FindLastChar(TCHAR InChar, int32 &Index) const
Definition FString.h:1181
std::string ToString() const
Convert FString to std::string.
Definition FString.h:1611
FString TrimQuotes(bool *bQuotesRemoved=nullptr) const
Definition FString.h:2334
FORCEINLINE FString & operator+=(const TCHAR *Str)
Definition FString.h:347
void AppendInt(int32 InNum)
Definition FString.h:2415
FORCEINLINE const TCHAR * operator*() const
Definition FString.h:282
FORCEINLINE friend FString operator/(FString &&Lhs, const TCHAR *Rhs)
Definition FString.h:765
FString()=default
FORCEINLINE friend FString operator/(FString &&Lhs, const FString &Rhs)
Definition FString.h:797
FString RightPad(int32 ChCount) const
Definition FString.h:2527
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+(const FString &Lhs, CharType Rhs)
Definition FString.h:519
FORCEINLINE friend DataType::RangedForConstIteratorType end(const FString &Str)
Definition FString.h:211
void PathAppend(const TCHAR *Str, int32 StrLength)
Definition FString.h:2234
FORCEINLINE bool Contains(const FString &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
Definition FString.h:1156
FORCEINLINE FString(const CharType *Src, typename TEnableIf< TIsCharType< CharType >::Value >::Type *Dummy=nullptr)
Definition FString.h:98
void TrimEndInline()
Definition FString.h:2310
FORCEINLINE FString RightChop(int32 Count) const
Definition FString.h:1093
FString TrimEnd() &&
Definition FString.h:2327
bool EndsWith(const FString &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition FString.h:2180
FString ToLower() &&
Definition FString.h:2115
static FString ChrN(int32 NumCharacters, TCHAR Char)
Definition FString.h:2501
static FORCEINLINE FString ConcatFStringToTCHARs(typename TIdentity< LhsType >::Type Lhs, const TCHAR *Rhs)
Definition FString.h:596
FORCEINLINE friend FString operator+(const TCHAR *Lhs, FString &&Rhs)
Definition FString.h:687
FORCEINLINE TConstIterator CreateConstIterator() const
Definition FString.h:198
bool StartsWith(const FString &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition FString.h:2143
FString ToUpper() const &
Definition FString.h:2084
FString(const FString &)=default
static FString FormatAsNumber(int32 InNumber)
Definition FString.h:2395
FORCEINLINE bool Equals(const FString &Other, ESearchCase::Type SearchCase=ESearchCase::CaseSensitive) const
Definition FString.h:1221
FORCEINLINE bool IsValidIndex(int32 Index) const
Definition FString.h:272
FORCEINLINE friend FString operator/(const FString &Lhs, const TCHAR *Rhs)
Definition FString.h:749
void ToLowerInline()
Definition FString.h:2121
TArray< TCHAR > DataType
Definition FString.h:58
DataType Data
Definition FString.h:59
FString ToUpper() &&
Definition FString.h:2091
void TrimStartAndEndInline()
Definition FString.h:2266
int32 ParseIntoArray(TArray< FString > &OutArray, const TCHAR *pchDelim, bool InCullEmpty=true) const
Definition FString.h:2560
bool EndsWith(const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
Definition FString.h:2155
FORCEINLINE FString(int32 InCount, const TCHAR *InSrc)
Definition FString.h:116
FORCEINLINE friend DataType::RangedForConstIteratorType begin(const FString &Str)
Definition FString.h:209
FORCEINLINE friend bool operator>(const FString &Lhs, const CharType *Rhs)
Definition FString.h:967
FString ReplaceCharWithEscapedChar(const TArray< TCHAR > *Chars=nullptr) const
Definition FString.h:2934
static bool ToBlob(const FString &Source, uint8 *DestBuffer, const uint32 DestSize)
Definition FString.h:2448
FORCEINLINE TCHAR & operator[](int32 Index)
Definition FString.h:169
FORCEINLINE void InsertAt(int32 Index, TCHAR Character)
Definition FString.h:440
FORCEINLINE friend bool operator>=(const CharType *Lhs, const FString &Rhs)
Definition FString.h:940
FORCEINLINE friend FString operator/(const TCHAR *Lhs, const FString &Rhs)
Definition FString.h:813
FORCEINLINE void AppendChars(const TCHAR *Array, int32 Count)
Definition FString.h:322
FORCEINLINE friend TEnableIf< TIsCharType< CharType >::Value, FString >::Type operator+(FString &&Lhs, CharType Rhs)
Definition FString.h:538
FORCEINLINE void Shrink()
Definition FString.h:260
FORCEINLINE friend bool operator>(const CharType *Lhs, const FString &Rhs)
Definition FString.h:981
void ReverseString()
Definition FString.h:2375
FORCEINLINE bool IsEmpty() const
Definition FString.h:241
FORCEINLINE FString Right(int32 Count) const
Definition FString.h:1087
FORCEINLINE void InsertAt(int32 Index, const FString &Characters)
Definition FString.h:455
FORCEINLINE bool Contains(const TCHAR *SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
Definition FString.h:1142
FORCEINLINE friend bool operator>(const FString &Lhs, const FString &Rhs)
Definition FString.h:953
FORCEINLINE friend bool operator==(const CharType *Lhs, const FString &Rhs)
Definition FString.h:1022
FORCEINLINE friend bool operator<(const FString &Lhs, const CharType *Rhs)
Definition FString.h:885
static FString Join(const TArray< T, Allocator > &Array, const TCHAR *Separator)
Definition FString.h:1587
bool RemoveFromEnd(const FString &InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition FString.h:2212
FORCEINLINE TEnableIf< TIsCharType< CharType >::Value, FString & >::Type operator+=(CharType InChar)
Definition FString.h:363
FORCEINLINE const TCHAR & operator[](int32 Index) const
Definition FString.h:180
FORCEINLINE friend bool operator<(const FString &Lhs, const FString &Rhs)
Definition FString.h:871
FORCEINLINE friend bool operator>=(const FString &Lhs, const FString &Rhs)
Definition FString.h:912
FString ToLower() const &
Definition FString.h:2108
int32 ParseIntoArrayWS(TArray< FString > &OutArray, const TCHAR *pchExtraDelim=nullptr, bool InCullEmpty=true) const
Definition FString.h:2660
bool Split(const FString &InS, FString *LeftS, FString *RightS, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart) const
Definition FString.h:1262
static FString Format(const T *format, Args &&... args)
Formats text using fmt::format.
Definition FString.h:1633
FString LeftPad(int32 ChCount) const
Definition FString.h:2513
FORCEINLINE int32 FindLastCharByPredicate(Predicate Pred) const
Definition FString.h:1209
FORCEINLINE void Reset(int32 NewReservedSize=0)
Definition FString.h:251
FORCEINLINE void Empty(int32 Slack=0)
Definition FString.h:231
FORCEINLINE int32 Len() const
Definition FString.h:1069
FORCEINLINE int32 FindLastCharByPredicate(Predicate Pred, int32 Count) const
Definition FString.h:1195
void TrimToNullTerminator()
Definition FString.h:2015
bool RemoveFromStart(const FString &InPrefix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase)
Definition FString.h:2196
FORCEINLINE FString & AppendChar(const TCHAR InChar)
Definition FString.h:390
FORCEINLINE friend bool operator>=(const FString &Lhs, const CharType *Rhs)
Definition FString.h:926
FORCEINLINE friend bool operator<=(const FString &Lhs, const FString &Rhs)
Definition FString.h:830
FORCEINLINE void CheckInvariants() const
Definition FString.h:222
FORCEINLINE friend FString operator+(FString &&Lhs, const TCHAR *Rhs)
Definition FString.h:713
FString ReplaceEscapedCharWithChar(const TArray< TCHAR > *Chars=nullptr) const
Definition FString.h:2956
FORCEINLINE FString(const FString &Other, int32 ExtraSlack)
Definition FString.h:76
FORCEINLINE FString & operator/=(const TCHAR *Str)
Definition FString.h:724
FString & operator=(const FString &)=default
FString TrimStartAndEnd() const &
Definition FString.h:2272
T * value_
Definition Fields.h:82
FieldArray & operator=(const T &other)=delete
T * operator()()
Definition Fields.h:69
static size_t GetSize()
Definition Fields.h:76
Definition Logger.h:9
Log()=default
~Log()=default
std::shared_ptr< spdlog::logger > logger_
Definition Logger.h:41
Log(Log &&)=delete
Log & operator=(Log &&)=delete
static std::shared_ptr< spdlog::logger > & GetLog()
Definition Logger.h:22
Log & operator=(const Log &)=delete
Log(const Log &)=delete
static Log & Get()
Definition Logger.h:16
~TArray()
Definition TArray.h:517
FORCEINLINE bool Find(const ElementType &Item, int32 &Index) const
Definition TArray.h:760
void Sort()
Definition TArray.h:1964
void RemoveAtImpl(int32 Index, int32 Count, bool bAllowShrinking)
Definition TArray.h:1238
TArray & operator=(TArray &&Other)
Definition TArray.h:506
TCheckedPointerIterator< const ElementType > RangedForConstIteratorType
Definition TArray.h:1930
int32 AddUniqueImpl(ArgsType &&Args)
Definition TArray.h:1609
InAllocator Allocator
Definition TArray.h:275
TArray & operator=(std::initializer_list< InElementType > InitList)
Definition TArray.h:349
void SetNumUninitialized(int32 NewNum, bool bAllowShrinking=true)
Definition TArray.h:1376
FORCEINLINE int32 Num() const
Definition TArray.h:611
int32 FindLastByPredicate(Predicate Pred, int32 Count) const
Definition TArray.h:827
TIterator CreateIterator()
Definition TArray.h:1913
int32 AddZeroed(int32 Count=1)
Definition TArray.h:1578
FORCEINLINE int32 Emplace(ArgsType &&... Args)
Definition TArray.h:1526
FORCEINLINE int32 Max() const
Definition TArray.h:622
ElementAllocatorType AllocatorInstance
Definition TArray.h:2107
FORCENOINLINE void ResizeTo(int32 NewMax)
Definition TArray.h:2047
InElementType ElementType
Definition TArray.h:274
int32 RemoveAll(const PREDICATE_CLASS &Predicate)
Definition TArray.h:1726
void SetNumZeroed(int32 NewNum, bool bAllowShrinking=true)
Definition TArray.h:1359
void InsertZeroed(int32 Index, int32 Count=1)
Definition TArray.h:1102
static FORCEINLINE TEnableIf<!UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopy(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax)
Definition TArray.h:423
FORCEINLINE const ElementType & Last(int32 IndexFromTheEnd=0) const
Definition TArray.h:732
TIndexedContainerIterator< TArray, ElementType, int32 > TIterator
Definition TArray.h:1905
FORCEINLINE bool operator!=(const TArray &OtherArray) const
Definition TArray.h:1036
TCheckedPointerIterator< ElementType > RangedForIteratorType
Definition TArray.h:1929
TArray & operator+=(TArray &&Other)
Definition TArray.h:1490
static FORCEINLINE TEnableIf< UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopy(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax)
Definition TArray.h:402
void Init(const ElementType &Element, int32 Number)
Definition TArray.h:1662
FORCEINLINE friend RangedForIteratorType end(TArray &Array)
Definition TArray.h:1945
FORCEINLINE bool ContainsByPredicate(Predicate Pred) const
Definition TArray.h:1012
FORCEINLINE void CheckAddress(const ElementType *Addr) const
Definition TArray.h:1193
TIndexedContainerIterator< const TArray, const ElementType, int32 > TConstIterator
Definition TArray.h:1906
FORCEINLINE void CheckInvariants() const
Definition TArray.h:573
FORCEINLINE TArray(const TArray &Other, int32 ExtraSlack)
Definition TArray.h:338
FORCEINLINE void RemoveAt(int32 Index, CountType Count, bool bAllowShrinking=true)
Definition TArray.h:1290
void StableSort(const PREDICATE_CLASS &Predicate)
Definition TArray.h:2011
FORCEINLINE void Append(std::initializer_list< ElementType > InitList)
Definition TArray.h:1474
TArray & operator+=(const TArray &Other)
Definition TArray.h:1502
FORCEINLINE int32 Add(const ElementType &Item)
Definition TArray.h:1564
FORCEINLINE ElementType & Last(int32 IndexFromTheEnd=0)
Definition TArray.h:718
FORCENOINLINE void ResizeGrow(int32 OldNum)
Definition TArray.h:2032
FORCEINLINE void EmplaceAt(int32 Index, ArgsType &&... Args)
Definition TArray.h:1540
FORCEINLINE const ElementType & operator[](int32 Index) const
Definition TArray.h:645
TArray< ElementType > FilterByPredicate(Predicate Pred) const
Definition TArray.h:972
FORCEINLINE friend RangedForIteratorType begin(TArray &Array)
Definition TArray.h:1943
void Append(TArray< OtherElementType, OtherAllocator > &&Source)
Definition TArray.h:1433
FORCENOINLINE void ResizeForCopy(int32 NewMax, int32 PrevMax)
Definition TArray.h:2059
FORCEINLINE void RemoveAtSwap(int32 Index)
Definition TArray.h:1849
int32 Insert(const ElementType *Ptr, int32 Count, int32 Index)
Definition TArray.h:1175
FORCEINLINE int32 GetSlack() const
Definition TArray.h:564
FORCEINLINE int32 AddUnique(const ElementType &Item)
Definition TArray.h:1640
int32 Find(const ElementType &Item) const
Definition TArray.h:773
void CopyToEmpty(const OtherElementType *OtherData, int32 OtherNum, int32 PrevMax, int32 ExtraSlack)
Definition TArray.h:2084
FORCEINLINE void Shrink()
Definition TArray.h:743
void SetNumUnsafeInternal(int32 NewNum)
Definition TArray.h:1392
FORCEINLINE const ElementType & Top() const
Definition TArray.h:707
static FORCEINLINE TEnableIf< UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopyWithSlack(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax, int32 ExtraSlack)
Definition TArray.h:439
int32 RemoveSwap(const ElementType &Item)
Definition TArray.h:1822
int32 IndexOfByKey(const KeyType &Key) const
Definition TArray.h:861
void Append(const TArray< OtherElementType, OtherAllocator > &Source)
Definition TArray.h:1407
FORCEINLINE TArray(const TArray &Other)
Definition TArray.h:326
FORCEINLINE ElementType & Top()
Definition TArray.h:694
FORCEINLINE friend RangedForConstIteratorType end(const TArray &Array)
Definition TArray.h:1946
TArray(std::initializer_list< InElementType > InitList)
Definition TArray.h:302
FORCEINLINE bool FindLast(const ElementType &Item, int32 &Index) const
Definition TArray.h:794
int32 ArrayMax
Definition TArray.h:2109
FORCEINLINE int32 AddUnique(ElementType &&Item)
Definition TArray.h:1631
FORCEINLINE friend RangedForConstIteratorType begin(const TArray &Array)
Definition TArray.h:1944
int32 Insert(const ElementType &Item, int32 Index)
Definition TArray.h:1226
FORCEINLINE uint32 GetTypeSize() const
Definition TArray.h:543
TArray & operator+=(std::initializer_list< ElementType > InitList)
Definition TArray.h:1513
void Append(const ElementType *Ptr, int32 Count)
Definition TArray.h:1460
static FORCEINLINE TEnableIf<!UE4Array_Private::TCanMoveTArrayPointersBetweenArrayTypes< FromArrayType, ToArrayType >::Value >::Type MoveOrCopyWithSlack(ToArrayType &ToArray, FromArrayType &FromArray, int32 PrevMax, int32 ExtraSlack)
Definition TArray.h:457
int32 Insert(ElementType &&Item, int32 Index)
Definition TArray.h:1207
FORCEINLINE TArray(TArray &&Other)
Definition TArray.h:468
FORCENOINLINE void ResizeShrink()
Definition TArray.h:2037
FORCEINLINE void RangeCheck(int32 Index) const
Definition TArray.h:583
void Reset(int32 NewSize=0)
Definition TArray.h:1302
bool Contains(const ComparisonType &Item) const
Definition TArray.h:992
TArray(TArray< OtherElementType, Allocator > &&Other, int32 ExtraSlack)
Definition TArray.h:492
FORCEINLINE void RemoveAt(int32 Index)
Definition TArray.h:1276
int32 RemoveSingle(const ElementType &Item)
Definition TArray.h:1679
int32 FindLast(const ElementType &Item) const
Definition TArray.h:806
void RemoveAllSwap(const PREDICATE_CLASS &Predicate, bool bAllowShrinking=true)
Definition TArray.h:1774
FORCEINLINE ElementType & operator[](int32 Index)
Definition TArray.h:632
TArray & operator=(const TArray &Other)
Definition TArray.h:381
int32 Remove(const ElementType &Item)
Definition TArray.h:1709
bool operator==(const TArray &OtherArray) const
Definition TArray.h:1023
FORCEINLINE const ElementType * FindByPredicate(Predicate Pred) const
Definition TArray.h:938
FORCEINLINE TArray(const ElementType *Ptr, int32 Count)
Definition TArray.h:292
FORCEINLINE ElementType Pop(bool bAllowShrinking=true)
Definition TArray.h:657
FORCEINLINE int32 FindLastByPredicate(Predicate Pred) const
Definition TArray.h:848
FORCEINLINE TArray()
Definition TArray.h:280
void Empty(int32 Slack=0)
Definition TArray.h:1321
TChooseClass< Allocator::NeedsElementType, typenameAllocator::templateForElementType< ElementType >, typenameAllocator::ForAnyElementType >::Result ElementAllocatorType
Definition TArray.h:2105
void SetNum(int32 NewNum, bool bAllowShrinking=true)
Definition TArray.h:1340
int32 ArrayNum
Definition TArray.h:2108
FORCEINLINE const ElementType * FindByKey(const KeyType &Key) const
Definition TArray.h:903
FORCEINLINE void Push(const ElementType &Item)
Definition TArray.h:683
TConstIterator CreateConstIterator() const
Definition TArray.h:1923
FORCEINLINE void Reserve(int32 Number)
Definition TArray.h:1648
void InsertDefaulted(int32 Index, int32 Count=1)
Definition TArray.h:1116
FORCEINLINE int32 AddUninitialized(int32 Count=1)
Definition TArray.h:1051
int32 RemoveSingleSwap(const ElementType &Item, bool bAllowShrinking=true)
Definition TArray.h:1798
FORCEINLINE TArray(TArray< OtherElementType, OtherAllocator > &&Other)
Definition TArray.h:479
FORCEINLINE ElementType * GetData() const
Definition TArray.h:533
FORCEINLINE bool IsValidIndex(int32 Index) const
Definition TArray.h:600
int32 Insert(std::initializer_list< ElementType > InitList, const int32 InIndex)
Definition TArray.h:1129
FORCEINLINE uint32 GetAllocatedSize(void) const
Definition TArray.h:554
int32 Insert(const TArray< ElementType > &Items, const int32 InIndex)
Definition TArray.h:1150
FORCEINLINE int32 Add(ElementType &&Item)
Definition TArray.h:1555
FORCEINLINE void RemoveAtSwap(int32 Index, CountType Count, bool bAllowShrinking=true)
Definition TArray.h:1867
TArray & operator=(const TArray< ElementType, OtherAllocator > &Other)
Definition TArray.h:368
ElementType * FindByPredicate(Predicate Pred)
Definition TArray.h:950
FORCEINLINE TArray(const TArray< OtherElementType, OtherAllocator > &Other)
Definition TArray.h:316
void InsertUninitialized(int32 Index, int32 Count=1)
Definition TArray.h:1076
ElementType * FindByKey(const KeyType &Key)
Definition TArray.h:917
void Sort(const PREDICATE_CLASS &Predicate)
Definition TArray.h:1980
int32 AddDefaulted(int32 Count=1)
Definition TArray.h:1593
void RemoveAtSwapImpl(int32 Index, int32 Count=1, bool bAllowShrinking=true)
Definition TArray.h:1873
void StableSort()
Definition TArray.h:1994
FORCEINLINE void Push(ElementType &&Item)
Definition TArray.h:670
int32 IndexOfByPredicate(Predicate Pred) const
Definition TArray.h:881
FORCEINLINE friend bool operator!=(const TIndexedContainerIterator &Lhs, const TIndexedContainerIterator &Rhs)
Definition TArray.h:130
ElementType * operator->() const
Definition TArray.h:93
FORCEINLINE friend bool operator==(const TIndexedContainerIterator &Lhs, const TIndexedContainerIterator &Rhs)
Definition TArray.h:129
IndexType GetIndex() const
Definition TArray.h:105
TIndexedContainerIterator operator+(int32 Offset) const
Definition TArray.h:71
TIndexedContainerIterator operator++(int)
Definition TArray.h:44
TIndexedContainerIterator & operator--()
Definition TArray.h:52
TIndexedContainerIterator & operator-=(int32 Offset)
Definition TArray.h:77
FORCEINLINE operator bool() const
Definition TArray.h:99
TIndexedContainerIterator(ContainerType &InContainer, IndexType StartIndex=0)
Definition TArray.h:32
ContainerType & Container
Definition TArray.h:134
TIndexedContainerIterator & operator++()
Definition TArray.h:39
TIndexedContainerIterator & operator+=(int32 Offset)
Definition TArray.h:65
TIndexedContainerIterator operator--(int)
Definition TArray.h:57
TIndexedContainerIterator operator-(int32 Offset) const
Definition TArray.h:82
ElementType & operator*() const
Definition TArray.h:88
FORCEINLINE ObjectType * Get() const
ArgFormatter(BasicFormatter< Char > &formatter, FormatSpec &spec, const Char *fmt)
Definition format.h:2289
uint64_t types_
Definition format.h:1567
ArgList(ULongLong types, const internal::Value *values)
Definition format.h:1591
internal::Arg::Type type(unsigned index) const
Definition format.h:1578
friend class internal::ArgMap
Definition format.h:1583
@ MAX_PACKED_ARGS
Definition format.h:1587
internal::Arg operator[](unsigned index) const
Definition format.h:1599
static internal::Arg::Type type(uint64_t types, unsigned index)
Definition format.h:1624
uint64_t types() const
Definition format.h:1596
ArgList(ULongLong types, const internal::Arg *args)
Definition format.h:1593
void report_unhandled_arg()
Definition format.h:1664
Result visit_custom(Arg::CustomValue)
Definition format.h:1744
Result visit(const Arg &arg)
Definition format.h:1756
Result visit_double(double value)
Definition format.h:1708
Result visit_uint(unsigned value)
Definition format.h:1682
Result visit_any_int(T)
Definition format.h:1703
Result visit_cstring(const char *)
Definition format.h:1724
Result visit_pointer(const void *)
Definition format.h:1739
Result visit_unhandled_arg()
Definition format.h:1666
Result visit_any_double(T)
Definition format.h:1719
Result visit_long_double(long double value)
Definition format.h:1713
Result visit_long_long(LongLong value)
Definition format.h:1677
Result visit_wstring(Arg::StringValue< wchar_t >)
Definition format.h:1734
Result visit_string(Arg::StringValue< char >)
Definition format.h:1729
Result visit_ulong_long(ULongLong value)
Definition format.h:1687
Result visit_int(int value)
Definition format.h:1672
Result visit_bool(bool value)
Definition format.h:1692
Result visit_char(int value)
Definition format.h:1697
BasicFormatter< Char, Impl > & formatter_
Definition format.h:2260
const Char * format_
Definition format.h:2261
BasicArgFormatter(BasicFormatter< Char, Impl > &formatter, Spec &spec, const Char *fmt)
Definition format.h:2272
void visit_custom(internal::Arg::CustomValue c)
Definition format.h:2278
BasicArrayWriter(Char *array, std::size_t size)
Definition format.h:3353
internal::FixedBuffer< Char > buffer_
Definition format.h:3344
BasicArrayWriter(Char(&array)[SIZE])
Definition format.h:3363
const Char * data_
Definition format.h:660
const Char * c_str() const
Definition format.h:677
BasicCStringRef(const Char *s)
Definition format.h:664
BasicFormatter(const ArgList &args, BasicWriter< Char > &w)
Definition format.h:2328
void format(BasicCStringRef< Char > format_str)
Definition format.h:4012
internal::ArgMap< Char > map_
Definition format.h:2304
internal::Arg get_arg(BasicStringRef< Char > arg_name, const char *&error)
Definition format.h:3800
const Char * format(const Char *&format_str, const internal::Arg &arg)
Definition format.h:3840
BasicWriter< Char > & writer()
Definition format.h:2332
internal::Arg parse_arg_name(const Char *&s)
Definition format.h:3825
BasicWriter< Char > & writer_
Definition format.h:2303
internal::Arg parse_arg_index(const Char *&s)
Definition format.h:3813
const Char * data_
Definition format.h:539
BasicStringRef(const Char *s)
Definition format.h:552
std::size_t size() const
Definition format.h:598
friend bool operator!=(BasicStringRef lhs, BasicStringRef rhs)
Definition format.h:612
friend bool operator<(BasicStringRef lhs, BasicStringRef rhs)
Definition format.h:615
const Char * data() const
Definition format.h:595
friend bool operator<=(BasicStringRef lhs, BasicStringRef rhs)
Definition format.h:618
friend bool operator>(BasicStringRef lhs, BasicStringRef rhs)
Definition format.h:621
std::basic_string< Char > to_string() const
Definition format.h:590
friend bool operator>=(BasicStringRef lhs, BasicStringRef rhs)
Definition format.h:624
BasicStringRef(const Char *s, std::size_t size)
Definition format.h:544
friend bool operator==(BasicStringRef lhs, BasicStringRef rhs)
Definition format.h:609
std::size_t size_
Definition format.h:540
int compare(BasicStringRef other) const
Definition format.h:601
static CharPtr fill_padding(CharPtr buffer, unsigned total_size, std::size_t content_size, wchar_t fill)
Definition format.h:2926
void write_decimal(Int value)
Definition format.h:2647
virtual ~BasicWriter()
Definition format.h:2722
void append_float_length(Char *&, T)
Definition format.h:2702
void write_int(T value, Spec spec)
Definition format.h:3006
static Char * get(Char *p)
Definition format.h:2620
Buffer< Char > & buffer_
Definition format.h:2610
friend class BasicPrintfArgFormatter
Definition format.h:2708
BasicWriter(Buffer< Char > &b)
Definition format.h:2714
CharPtr prepare_int_buffer(unsigned num_digits, const Spec &spec, const char *prefix, unsigned prefix_size)
Definition format.h:2943
Char * write_unsigned_decimal(UInt value, unsigned prefix_size=0)
Definition format.h:2638
void append_float_length(Char *&format_ptr, long double)
Definition format.h:2697
void operator<<(typename internal::WCharHelper< const wchar_t *, Char >::Unsupported)
std::size_t size() const
Definition format.h:2727
CharPtr grow_buffer(std::size_t n)
Definition format.h:2630
void write_str(const internal::Arg::StringValue< StrChar > &str, const Spec &spec)
Definition format.h:2905
const Char * data() const FMT_NOEXCEPT
Definition format.h:2733
std::basic_string< Char > str() const
Definition format.h:2751
void clear() FMT_NOEXCEPT
Definition format.h:2875
CharPtr write_str(const StrChar *s, std::size_t size, const AlignSpec &spec)
Definition format.h:2882
void write(BasicCStringRef< Char > format, ArgList args)
Definition format.h:2780
Buffer< Char > & buffer() FMT_NOEXCEPT
Definition format.h:2877
CharPtr prepare_int_buffer(unsigned num_digits, const EmptySpec &, const char *prefix, unsigned prefix_size)
Definition format.h:2659
void operator<<(typename internal::WCharHelper< wchar_t, Char >::Unsupported)
internal::CharTraits< Char >::CharPtr CharPtr
Definition format.h:2614
void write_double(T value, const Spec &spec)
Definition format.h:3099
const Char * c_str() const
Definition format.h:2739
void resize(std::size_t new_size)
Definition format.h:770
std::size_t size() const
Definition format.h:762
std::size_t size_
Definition format.h:744
void push_back(const T &value)
Definition format.h:788
void clear() FMT_NOEXCEPT
Definition format.h:786
virtual ~Buffer()
Definition format.h:759
void append(const U *begin, const U *end)
Definition format.h:804
void reserve(std::size_t capacity)
Definition format.h:781
std::size_t capacity_
Definition format.h:745
virtual void grow(std::size_t size)=0
Buffer(T *ptr=FMT_NULL, std::size_t capacity=0)
Definition format.h:747
T & operator[](std::size_t index)
Definition format.h:798
std::size_t capacity() const
Definition format.h:765
const T & operator[](std::size_t index) const
Definition format.h:799
FormatError(const FormatError &ferr)
Definition format.h:688
FMT_API ~FormatError() FMT_DTOR_NOEXCEPT FMT_OVERRIDE
FormatError(CStringRef message)
Definition format.h:686
const char * data() const
Definition format.h:3537
char * str_
Definition format.h:3486
FormatInt(unsigned long value)
Definition format.h:3525
void FormatSigned(LongLong value)
Definition format.h:3510
char * format_decimal(ULongLong value)
Definition format.h:3489
FormatInt(unsigned value)
Definition format.h:3524
std::string str() const
Definition format.h:3553
std::size_t size() const
Definition format.h:3529
FormatInt(int value)
Definition format.h:3521
FormatInt(ULongLong value)
Definition format.h:3526
char buffer_[BUFFER_SIZE]
Definition format.h:3485
const char * c_str() const
Definition format.h:3543
FormatInt(LongLong value)
Definition format.h:3523
FormatInt(long value)
Definition format.h:3522
T value() const
Definition format.h:1879
IntFormatSpec(T val, const SpecT &spec=SpecT())
Definition format.h:1876
StrFormatSpec(const Char *str, unsigned width, FillChar fill)
Definition format.h:1890
const Char * str_
Definition format.h:1886
const Char * str() const
Definition format.h:1895
int error_code() const
Definition format.h:2566
SystemError(int error_code, CStringRef message)
Definition format.h:2558
FMT_API ~SystemError() FMT_DTOR_NOEXCEPT FMT_OVERRIDE
FMT_API void init(int err_code, CStringRef format_str, ArgList args)
Definition format.cc:225
void visit_wstring(internal::Arg::StringValue< Char > value)
Definition format.h:2182
void visit_string(internal::Arg::StringValue< char > value)
Definition format.h:2176
BasicWriter< Char > & writer_
Definition format.h:2090
void visit_pointer(const void *value)
Definition format.h:2186
BasicWriter< Char > & writer()
Definition format.h:2105
void visit_cstring(const char *value)
Definition format.h:2169
void write(const char *value)
Definition format.h:2114
void write_pointer(const void *p)
Definition format.h:2095
void visit_bool(bool value)
Definition format.h:2131
ArgFormatterBase(BasicWriter< Char > &w, Spec &s)
Definition format.h:2122
MapType::value_type Pair
Definition format.h:2024
void init(const ArgList &args)
Definition format.h:2043
static Char cast(int value)
Definition format.h:916
static char convert(char value)
Definition format.h:929
static char convert(wchar_t)
static wchar_t convert(char value)
Definition format.h:949
static wchar_t convert(wchar_t value)
Definition format.h:950
bool check_no_auto_index(const char *&error)
Definition format.h:2223
FormatterBase(const ArgList &args)
Definition format.h:2204
const ArgList & args() const
Definition format.h:2202
void write(BasicWriter< Char > &w, const Char *start, const Char *end)
Definition format.h:2233
Arg next_arg(const char *&error)
Definition format.h:2210
Arg get_arg(unsigned arg_index, const char *&error)
Definition format.h:2219
FMT_API Arg do_get_arg(unsigned arg_index, const char *&error)
MakeArg(const T &value)
Definition format.h:1530
MakeValue(unsigned long value)
Definition format.h:1420
MakeValue(typename WCharHelper< wchar_t, Char >::Unsupported)
MakeValue(typename WCharHelper< WStringRef, Char >::Unsupported)
static uint64_t type(long)
Definition format.h:1416
MakeValue(typename WCharHelper< const wchar_t *, Char >::Unsupported)
MakeValue(typename WCharHelper< wchar_t *, Char >::Unsupported)
Formatter::Char Char
Definition format.h:1345
void set_string(WStringRef str)
Definition format.h:1378
static uint64_t type(unsigned long)
Definition format.h:1426
void set_string(StringRef str)
Definition format.h:1373
MakeValue(const T *value)
static void format_custom_arg(void *formatter, const void *arg, void *format_str_ptr)
Definition format.h:1385
MakeValue(long value)
Definition format.h:1408
RuntimeError(const RuntimeError &rerr)
Definition format.h:1554
FMT_API ~RuntimeError() FMT_DTOR_NOEXCEPT FMT_OVERRIDE
ThousandsSep(fmt::StringRef sep)
Definition format.h:1068
void operator()(Char *&buffer)
Definition format.h:1071
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
Definition formatter.h:37
const pattern_time_type _pattern_time
Definition formatter.h:38
virtual log_err_handler error_handler() override
void flush() override
std::vector< std::unique_ptr< details::flag_formatter > > _formatters
Definition formatter.h:39
void format(details::log_msg &msg, const std::tm &tm_time) override
void format(details::log_msg &msg, const std::tm &tm_time) override
const std::chrono::seconds cache_refresh
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
void format(details::log_msg &msg, const std::tm &tm_time) override
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 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
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
void set_error_handler(spdlog::log_err_handler err_handler)
void format(details::log_msg &msg, const std::tm &tm_time) override
void reopen(bool truncate)
Definition file_helper.h:64
const filename_t & filename() const
file_helper(const file_helper &)=delete
void write(const log_msg &msg)
Definition file_helper.h:86
file_helper & operator=(const file_helper &)=delete
virtual void format(details::log_msg &msg, const std::tm &tm_time)=0
void format(details::log_msg &msg, const std::tm &) override
mpmc_bounded_queue(mpmc_bounded_queue const &)=delete
void operator=(mpmc_bounded_queue const &)=delete
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)
Definition registry.h:163
std::function< void()> _worker_warmup_cb
Definition registry.h:204
std::function< void()> _worker_teardown_cb
Definition registry.h:206
void formatter(formatter_ptr f)
Definition registry.h:132
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)
Definition registry.h:75
void throw_if_exists(const std::string &logger_name)
Definition registry.h:191
void drop(const std::string &logger_name)
Definition registry.h:101
std::shared_ptr< logger > create(const std::string &logger_name, sink_ptr sink)
Definition registry.h:117
level::level_enum _level
Definition registry.h:199
std::chrono::milliseconds _flush_interval_ms
Definition registry.h:205
void apply_all(std::function< void(std::shared_ptr< logger >)> fun)
Definition registry.h:94
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)
Definition registry.h:122
void register_logger(std::shared_ptr< logger > logger)
Definition registry.h:33
log_err_handler _err_handler
Definition registry.h:200
void set_error_handler(log_err_handler handler)
Definition registry.h:156
std::shared_ptr< logger > create(const std::string &logger_name, sinks_init_list sinks)
Definition registry.h:112
void set_pattern(const std::string &pattern)
Definition registry.h:140
registry_t< Mutex > & operator=(const registry_t< Mutex > &)=delete
void set_level(level::level_enum log_level)
Definition registry.h:148
std::shared_ptr< logger > get(const std::string &logger_name)
Definition registry.h:42
std::shared_ptr< logger > create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end)
Definition registry.h:50
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)
Definition registry.h:127
async_overflow_policy _overflow_policy
Definition registry.h:203
static registry_t< Mutex > & instance()
Definition registry.h:180
void format(details::log_msg &msg, const std::tm &) override
virtual ~formatter()
Definition formatter.h:24
virtual void format(details::log_msg &msg)=0
const std::vector< sink_ptr > & sinks() const
std::atomic< time_t > _last_err_time
Definition logger.h:105
void log(level::level_enum lvl, const T &)
void log(level::level_enum lvl, const char *fmt, const Args &... args)
Definition logger_impl.h:61
log_err_handler _err_handler
Definition logger.h:104
void critical(const T &)
void debug(const char *fmt, const Arg1 &, const Args &... args)
virtual ~logger()
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)
Definition logger_impl.h:88
void flush_on(level::level_enum log_level)
virtual log_err_handler error_handler()
spdlog::level_t _flush_level
Definition logger.h:103
void set_formatter(formatter_ptr)
Definition logger_impl.h:50
void warn(const char *fmt, const Arg1 &, const Args &... args)
void info(const char *fmt, const Arg1 &, const Args &... args)
void warn(const T &)
void error(const char *fmt, const Arg1 &, const Args &... args)
const std::string _name
Definition logger.h:99
virtual void flush()
spdlog::level_t _level
Definition logger.h:102
void trace(const T &)
logger & operator=(const logger &)=delete
std::vector< sink_ptr > _sinks
Definition logger.h:100
logger(const logger &)=delete
void error(const T &)
std::atomic< size_t > _msg_counter
Definition logger.h:106
void debug(const T &)
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 info(const T &)
formatter_ptr _formatter
Definition logger.h:101
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)
Definition file_sinks.h:197
details::file_helper _file_helper
Definition file_sinks.h:54
void _sink_it(const details::log_msg &msg) override
void set_force_flush(bool force_flush)
Definition file_sinks.h:37
static std::shared_ptr< MyType > instance()
simple_file_sink(const filename_t &filename, bool truncate=false)
Definition file_sinks.h:32
std::chrono::system_clock::time_point _next_rotation_tp()
Definition file_sinks.h:228
std::chrono::system_clock::time_point _rotation_tp
Definition file_sinks.h:246
rotating_file_sink(const filename_t &base_filename, std::size_t max_size, std::size_t max_files)
Definition file_sinks.h:68
static filename_t calc_filename(const filename_t &filename, std::size_t index)
Definition file_sinks.h:82
virtual void _flush()=0
virtual ~base_sink()=default
base_sink & operator=(const base_sink &)=delete
void log(const details::log_msg &msg) SPDLOG_FINAL override
Definition base_sink.h:34
void flush() SPDLOG_FINAL override
Definition base_sink.h:39
virtual void _sink_it(const details::log_msg &msg)=0
base_sink(const base_sink &)=delete
void set_level(level::level_enum log_level)
Definition sink.h:41
bool should_log(level::level_enum msg_level) const
Definition sink.h:36
virtual void log(const details::log_msg &msg)=0
level_t _level
Definition sink.h:32
virtual ~sink()
Definition sink.h:23
virtual void flush()=0
std::string _msg
Definition common.h:147
const char * what() const SPDLOG_NOEXCEPT override
Definition common.h:142
#define SPDLOG_NOEXCEPT
Definition common.h:28
#define SPDLOG_FINAL
Definition common.h:36
#define SPDLOG_CONSTEXPR
Definition common.h:29
#define SPDLOG_LEVEL_NAMES
Definition common.h:86
IApiUtils & GetApiUtils()
Definition ApiUtils.cpp:99
@ CaseSensitive
Definition FString.h:28
@ FromStart
Definition FString.h:41
void FromString(float &OutValue, const TCHAR *Buffer)
Definition FString.h:1845
void FromString(int8 &OutValue, const TCHAR *Buffer)
Definition FString.h:1837
void FromString(uint8 &OutValue, const TCHAR *Buffer)
Definition FString.h:1841
void FromString(uint32 &OutValue, const TCHAR *Buffer)
Definition FString.h:1843
TEnableIf< TIsCharType< CharType >::Value, FString >::Type ToString(const CharType *Ptr)
Definition FString.h:1851
void FromString(int32 &OutValue, const TCHAR *Buffer)
Definition FString.h:1839
void FromString(uint64 &OutValue, const TCHAR *Buffer)
Definition FString.h:1844
FString ToSanitizedString(const T &Value)
Definition FString.h:1873
void FromString(FString &OutValue, const TCHAR *Buffer)
Definition FString.h:1847
void FromString(double &OutValue, const TCHAR *Buffer)
Definition FString.h:1846
void FromString(uint16 &OutValue, const TCHAR *Buffer)
Definition FString.h:1842
static TEnableIf< TIsArithmetic< T >::Value, bool >::Type TryParseString(T &OutValue, const TCHAR *Buffer)
Definition FString.h:1882
void FromString(int16 &OutValue, const TCHAR *Buffer)
Definition FString.h:1838
FString ToString(bool Value)
Definition FString.h:1856
FORCEINLINE FString ToString(FString &&Str)
Definition FString.h:1861
FORCEINLINE FString ToString(const FString &Str)
Definition FString.h:1866
void FromString(int64 &OutValue, const TCHAR *Buffer)
Definition FString.h:1840
bool MatchesWildcardRecursive(const TCHAR *Target, int32 TargetLength, const TCHAR *Wildcard, int32 WildcardLength)
Definition FString.h:1933
No & convert(...)
unsigned parse_nonnegative_int(const Char *&s)
Definition format.h:3758
T * make_ptr(T *ptr, std::size_t)
Definition format.h:728
bool is_name_start(Char c)
Definition format.h:3751
Yes & convert(fmt::ULongLong)
bool is_negative(T value)
Definition format.h:982
DummyInt _finite(...)
Definition format.h:421
char Yes[1]
Definition format.h:1230
fmt::StringRef thousands_sep(...)
Definition format.h:1310
DummyInt isinf(...)
Definition format.h:420
DummyInt signbit(...)
Definition format.h:418
DummyInt _ecvt_s(...)
Definition format.h:419
void require_numeric_argument(const Arg &arg, char spec)
Definition format.h:3779
MakeUnsigned< Int >::Type to_unsigned(Int value)
Definition format.h:711
uint64_t make_type()
Definition format.h:2361
void format_decimal(Char *buffer, UInt value, unsigned num_digits)
Definition format.h:1109
@ INLINE_BUFFER_SIZE
Definition format.h:718
void check_sign(const Char *&s, const Arg &arg)
Definition format.h:3788
StringRef thousands_sep(LConv *lc, LConvCheck< char *LConv::*, &LConv::thousands_sep >=0)
Definition format.h:1305
DummyInt isnan(...)
Definition format.h:422
uint64_t make_type(const T &arg)
Definition format.h:2364
T const_check(T value)
Definition format.h:428
char No[2]
Definition format.h:1231
DummyInt _isnan(...)
Definition format.h:423
void format_arg(Formatter &,...)
Definition format.h:1334
void format_decimal(Char *buffer, UInt value, unsigned num_digits, ThousandsSep thousands_sep)
Definition format.h:1084
BasicData Data
Definition format.h:1016
Definition format.h:408
ArgJoin< wchar_t, It > join(It first, It last, const BasicCStringRef< wchar_t > &sep)
Definition format.h:4051
void format_decimal(char *&buffer, T value)
Definition format.h:3560
FMT_API void print(CStringRef format_str, ArgList args)
Definition format.cc:449
FMT_API void print_colored(Color c, CStringRef format, ArgList args)
Definition format.cc:453
ArgJoin< char, It > join(It first, It last, const BasicCStringRef< char > &sep)
Definition format.h:4046
@ HASH_FLAG
Definition format.h:1799
@ PLUS_FLAG
Definition format.h:1799
@ SIGN_FLAG
Definition format.h:1799
@ CHAR_FLAG
Definition format.h:1800
@ MINUS_FLAG
Definition format.h:1799
__pad6__
Definition format.cc:296
IntFormatSpec< int, TypeSpec< 'o'> > oct(int value)
BasicWriter< char > Writer
Definition format.h:496
StrFormatSpec< wchar_t > pad(const wchar_t *str, unsigned width, char fill=' ')
Definition format.h:2012
BasicArrayWriter< wchar_t > WArrayWriter
Definition format.h:3368
std::string format(CStringRef format_str, ArgList args)
Definition format.h:3443
BasicArrayWriter< char > ArrayWriter
Definition format.h:3367
IntFormatSpec< int, TypeSpec< 'b'> > bin(int value)
BasicMemoryWriter< wchar_t > WMemoryWriter
Definition format.h:3319
IntFormatSpec< int, TypeSpec< 'x'> > hex(int value)
BasicStringRef< wchar_t > WStringRef
Definition format.h:630
BasicMemoryWriter< char > MemoryWriter
Definition format.h:3318
void arg(WStringRef, const internal::NamedArg< Char > &) FMT_DELETED_OR_UNDEFINED
FMT_API void report_system_error(int error_code, StringRef message) FMT_NOEXCEPT
Definition format.cc:429
void format_arg(fmt::BasicFormatter< Char, ArgFormatter > &f, const Char *&format_str, const ArgJoin< Char, It > &e)
Definition format.h:4070
__pad1__
Definition format.cc:236
std::wstring format(WCStringRef format_str, ArgList args)
Definition format.h:3449
__pad2__
Definition format.cc:250
Alignment
Definition format.h:1793
@ ALIGN_LEFT
Definition format.h:1794
@ ALIGN_DEFAULT
Definition format.h:1794
@ ALIGN_NUMERIC
Definition format.h:1794
@ ALIGN_RIGHT
Definition format.h:1794
@ ALIGN_CENTER
Definition format.h:1794
Color
Definition format.h:3424
@ BLUE
Definition format.h:3424
@ BLACK
Definition format.h:3424
@ RED
Definition format.h:3424
@ GREEN
Definition format.h:3424
@ WHITE
Definition format.h:3424
@ YELLOW
Definition format.h:3424
@ CYAN
Definition format.h:3424
@ MAGENTA
Definition format.h:3424
FMT_API void print(std::FILE *f, CStringRef format_str, ArgList args)
Definition format.cc:443
internal::NamedArgWithType< char, T > arg(StringRef name, const T &arg)
Definition format.h:3593
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
Definition format.cc:388
void arg(StringRef, const internal::NamedArg< Char > &) FMT_DELETED_OR_UNDEFINED
internal::NamedArgWithType< wchar_t, T > arg(WStringRef name, const T &arg)
Definition format.h:3598
IntFormatSpec< int, TypeSpec< 'X'> > hexu(int value)
BasicStringRef< char > StringRef
Definition format.h:629
StrFormatSpec< Char > pad(const Char *str, unsigned width, Char fill=' ')
Definition format.h:2007
BasicCStringRef< wchar_t > WCStringRef
Definition format.h:681
FMT_GCC_EXTENSION typedef long long LongLong
Definition format.h:486
BasicCStringRef< char > CStringRef
Definition format.h:680
FMT_GCC_EXTENSION typedef unsigned long long ULongLong
Definition format.h:487
BasicWriter< wchar_t > WWriter
Definition format.h:497
size_t thread_id()
Definition os.h:353
bool operator!=(const std::tm &tm1, const std::tm &tm2)
Definition os.h:129
std::string errno_to_string(char[256], char *res)
Definition os.h:382
bool in_terminal(FILE *file)
Definition os.h:468
std::string errno_to_string(char buf[256], int res)
Definition os.h:387
void prevent_child_fd(FILE *f)
Definition os.h:156
size_t filesize(FILE *f)
Definition os.h:230
int utc_minutes_offset(const std::tm &tm=details::os::localtime())
Definition os.h:267
std::tm gmtime(const std::time_t &time_tt)
Definition os.h:100
bool is_color_terminal()
Definition os.h:439
std::tm localtime()
Definition os.h:93
static SPDLOG_CONSTEXPR int eol_size
Definition os.h:144
std::tm localtime(const std::time_t &time_tt)
Definition os.h:80
std::tm gmtime()
Definition os.h:113
spdlog::log_clock::time_point now()
Definition os.h:64
std::string errno_str(int err_num)
Definition os.h:400
size_t _thread_id()
Definition os.h:330
static SPDLOG_CONSTEXPR const char * eol
Definition os.h:143
bool operator==(const std::tm &tm1, const std::tm &tm2)
Definition os.h:118
registry_t< std::mutex > registry
Definition registry.h:211
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)
Definition common.h:97
const char * to_str(spdlog::level::level_enum l)
Definition common.h:92
static const char * short_level_names[]
Definition common.h:90
stderr_sink< details::null_mutex > stderr_sink_st
rotating_file_sink< std::mutex > rotating_file_sink_mt
Definition file_sinks.h:152
daily_file_sink< std::mutex > daily_file_sink_mt
Definition file_sinks.h:250
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
Definition file_sinks.h:58
simple_file_sink< details::null_mutex > simple_file_sink_st
Definition file_sinks.h:59
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
Definition file_sinks.h:153
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
Definition file_sinks.h:251
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)
Definition spdlog_impl.h:92
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)
Definition spdlog_impl.h:35
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)
Definition spdlog_impl.h:67
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)
Definition spdlog_impl.h:62
void set_error_handler(log_err_handler)
async_overflow_policy
Definition common.h:108
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)
Definition spdlog_impl.h:40
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)
Definition spdlog_impl.h:73
std::shared_ptr< logger > stdout_logger_mt(const std::string &logger_name)
Definition spdlog_impl.h:87
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)
Definition spdlog_impl.h:78
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)
Definition spdlog_impl.h:51
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)
Definition spdlog_impl.h:97
std::shared_ptr< spdlog::logger > create(const std::string &logger_name, Args...)
void drop_all()
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)
pattern_time_type
Definition common.h:118
void set_sync_mode()
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)
Definition spdlog_impl.h:45
std::shared_ptr< logger > basic_logger_st(const std::string &logger_name, const filename_t &filename, bool truncate=false)
Definition spdlog_impl.h:56
Definition json.hpp:4518
#define SPDLOG_EOL
Definition os.h:139
#define SPDLOG_FILENAME_T(s)
Definition os.h:375
#define __has_feature(x)
Definition os.h:53
FVector & DefaultActorLocationField()
Definition Actor.h:920
int & TargetingTeamField()
Definition Actor.h:902
USceneComponent * RootComponentField()
Definition Actor.h:911
APlayerState * PlayerStateField()
Definition Actor.h:2062
UCheatManager * CheatManagerField()
Definition Actor.h:2133
FString * GetPlayerNetworkAddress(FString *result)
Definition Actor.h:2292
FUniqueNetIdRepl & UniqueIdField()
Definition Actor.h:1782
FString & PlayerNameField()
Definition Actor.h:1776
bool TeleportTo(FVector *DestLocation, FRotator *DestRotation, bool bIsATest, bool bNoCheck)
Definition Actor.h:4554
UPrimalInventoryComponent * MyInventoryComponentField()
Definition Actor.h:3798
bool IsDead()
Definition Actor.h:4360
void DoNeuter_Implementation()
Definition Actor.h:7051
static UClass * GetPrivateStaticClass()
Definition Actor.h:6963
void TameDino(AShooterPlayerController *ForPC, bool bIgnoreMaxTameLimit, int OverrideTamingTeamID)
Definition Actor.h:7328
int & TamingTeamIDField()
Definition Actor.h:6194
FString & TamerStringField()
Definition Actor.h:6057
int & AbsoluteBaseLevelField()
Definition Actor.h:6324
UPrimalPlayerData * GetPlayerData()
Definition Actor.h:5166
APrimalDinoCharacter * GetRidingDino()
Definition Actor.h:5159
unsigned __int64 GetSteamIDForPlayerID(int playerDataID)
Definition GameMode.h:1620
void AddPlayerID(int playerDataID, unsigned __int64 netUniqueID)
Definition GameMode.h:1534
__int64 & LinkedPlayerIDField()
Definition Actor.h:2504
void SetPlayerPos(float X, float Y, float Z)
Definition Actor.h:3202
AActor * SpawnActor(FString *blueprintPath, float spawnDistance, float spawnYOffset, float ZOffset, bool bDoDeferBeginPlay)
Definition Actor.h:3222
AShooterCharacter * GetPlayerCharacter()
Definition Actor.h:2916
FString * GetPlayerName(FString *result)
Definition Actor.h:1902
void SetTribeTamingDinoSettings(APrimalDinoCharacter *aDinoChar)
Definition Actor.h:1986
DWORD64 offset
Definition Base.h:674
DWORD bit_position
Definition Base.h:675
ULONGLONG length
Definition Base.h:677
ULONGLONG num_bits
Definition Base.h:676
Definition Base.h:181
Definition Actor.h:10035
ECanvasAllowModes
Definition Base.h:316
@ Allow_DeleteOnRender
Definition Base.h:318
@ Allow_Flush
Definition Base.h:317
EElementType
Definition Base.h:309
@ ET_MAX
Definition Base.h:312
@ ET_Line
Definition Base.h:310
@ ET_Triangle
Definition Base.h:311
Definition Crc.h:11
static uint32 MemCrc32(const void *Data, int32 Lenght)
Definition Crc.h:12
Definition Other.h:244
Definition Actor.h:349
static FORCEINLINE double CeilToDouble(double F)
static FORCEINLINE float CeilToFloat(float F)
static FORCEINLINE float Fractional(float Value)
static FORCEINLINE float RoundToFloat(float F)
static CONSTEXPR FORCEINLINE double FloatSelect(double Comparand, double ValueGEZero, double ValueLTZero)
static FORCEINLINE float InvSqrtEst(float F)
static FORCEINLINE float Acos(float Value)
static FORCEINLINE uint32 ReverseMortonCode3(uint32 x)
static FORCEINLINE uint32 ReverseMortonCode2(uint32 x)
static FORCEINLINE int32 CeilToInt(float F)
static FORCEINLINE uint32 CountTrailingZeros(uint32 Value)
static FORCEINLINE T Max(const TArray< T > &Values, int32 *MaxIndex=NULL)
static FORCEINLINE T Min(const TArray< T > &Values, int32 *MinIndex=NULL)
static FORCEINLINE float InvSqrt(float F)
static FORCEINLINE float Modf(const float InValue, float *OutIntPart)
static CONSTEXPR FORCEINLINE T Min(const T A, const T B)
static FORCEINLINE float FRand()
static FORCEINLINE bool IsNaN(float A)
static FORCEINLINE double RoundToDouble(double F)
static FORCEINLINE float Sinh(float Value)
static CONSTEXPR FORCEINLINE float FloatSelect(float Comparand, float ValueGEZero, float ValueLTZero)
static FORCEINLINE uint32 CountLeadingZeros(uint32 Value)
static FORCEINLINE float Sqrt(float Value)
static FORCEINLINE float Exp(float Value)
static FORCEINLINE float FloorToFloat(float F)
static FORCEINLINE float LogX(float Base, float Value)
static FORCEINLINE double FloorToDouble(double F)
static FORCEINLINE float Atan(float Value)
static FORCEINLINE uint64 CeilLogTwo64(uint64 Arg)
static FORCEINLINE float Asin(float Value)
static FORCEINLINE int32 RoundToInt(float F)
static FORCEINLINE double Modf(const double InValue, double *OutIntPart)
static FORCEINLINE float Sin(float Value)
static FORCEINLINE float Frac(float Value)
static FORCEINLINE float Tan(float Value)
static FORCEINLINE uint32 RoundUpToPowerOfTwo(uint32 Arg)
static FORCEINLINE bool IsNegativeFloat(const float &A)
static CONSTEXPR FORCEINLINE T Max(const T A, const T B)
static FORCEINLINE bool IsFinite(float A)
static FORCEINLINE float Fmod(float X, float Y)
static FORCEINLINE uint32 MortonCode3(uint32 x)
static CONSTEXPR FORCEINLINE int32 TruncToInt(float F)
static FORCEINLINE float Cos(float Value)
static FORCEINLINE bool IsNegativeDouble(const double &A)
static CONSTEXPR FORCEINLINE float TruncToFloat(float F)
static FORCEINLINE uint64 CountLeadingZeros64(uint64 Value)
static FORCEINLINE int32 Rand()
static FORCEINLINE uint64 FloorLog2_64(uint64 Value)
static FORCEINLINE float Log2(float Value)
static FORCEINLINE uint32 CeilLogTwo(uint32 Arg)
static CONSTEXPR FORCEINLINE T Abs(const T A)
static CONSTEXPR FORCEINLINE T Sign(const T A)
static FORCEINLINE uint32 MortonCode2(uint32 x)
static FORCEINLINE float Pow(float A, float B)
static FORCEINLINE int32 CountBits(uint64 Bits)
static FORCEINLINE uint32 FloorLog2(uint32 Value)
static FORCEINLINE float Exp2(float Value)
static FORCEINLINE void RandInit(int32 Seed)
static FORCEINLINE int32 FloorToInt(float F)
static FORCEINLINE float Loge(float Value)
unsigned long long uint64
Definition BasicTypes.h:55
unsigned char uint8
Definition BasicTypes.h:52
decltype(nullptr) TYPE_OF_NULLPTR
Definition BasicTypes.h:77
signed short int int16
Definition BasicTypes.h:59
SelectIntPointerType< int32, int64, sizeof(void *)>::TIntPointe PTRINT)
Definition BasicTypes.h:72
unsigned short int uint16
Definition BasicTypes.h:53
unsigned int uint32
Definition BasicTypes.h:54
SelectIntPointerType< uint32, uint64, sizeof(void *)>::TIntPointe UPTRINT)
Definition BasicTypes.h:71
signed long long int64
Definition BasicTypes.h:61
Definition Actor.h:9443
int32 X
Definition IntPoint.h:17
int32 Y
Definition IntPoint.h:20
int32 Z
Definition IntVector.h:25
int32 Y
Definition IntVector.h:22
FIntVector(FVector InVector)
Definition Vector.h:936
int32 X
Definition IntVector.h:19
Definition Inventory.h:50
Definition Base.h:120
Definition Base.h:216
float G
Definition Color.h:36
float B
Definition Color.h:37
float R
Definition Color.h:35
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)
static FORCEINLINE int32 Stricmp(const ANSICHAR *String1, const ANSICHAR *String2)
Definition Other.h:87
Definition Actor.h:9709
Definition Actor.h:9701
static void MemswapGreaterThan8(void *RESTRICT Ptr1, void *RESTRICT Ptr2, SIZE_T Size)
static FORCEINLINE void * Memset(void *Dest, uint8 Char, SIZE_T Count)
static FORCEINLINE void Valswap(T &A, T &B)
static FORCEINLINE void * StreamingMemcpy(void *Dest, const void *Src, SIZE_T Count)
static FORCEINLINE void * BigBlockMemcpy(void *Dest, const void *Src, SIZE_T Count)
static FORCEINLINE void * Memmove(void *Dest, const void *Src, SIZE_T Count)
static FORCEINLINE void * Memzero(void *Dest, SIZE_T Count)
static FORCEINLINE int32 Memcmp(const void *Buf1, const void *Buf2, SIZE_T Count)
static FORCEINLINE void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
static void Memswap(void *Ptr1, void *Ptr2, SIZE_T Size)
Definition Base.h:191
unsigned __int64 & PlayerDataIDField()
Definition Actor.h:5466
Definition Base.h:360
FORCEINLINE FRotator(float InPitch, float InYaw, float InRoll)
Definition Rotator.h:375
TSharedPtr< FUniqueNetId > UniqueNetId
Definition Actor.h:190
float Y
Definition Vector2D.h:22
float X
Definition Vector2D.h:19
FORCEINLINE FVector operator+(float Bias) const
Definition Vector.h:1145
FORCEINLINE FVector operator*=(float Scale)
Definition Vector.h:1210
bool operator!=(const FVector &V) const
Definition Vector.h:1176
FORCEINLINE FVector()
Definition Vector.h:41
static float Triple(const FVector &X, const FVector &Y, const FVector &Z)
Definition Vector.h:1044
static bool Orthogonal(const FVector &Normal1, const FVector &Normal2, float OrthogonalCosineThreshold=THRESH_NORMALS_ARE_ORTHOGONAL)
Definition Vector.h:1031
static bool Parallel(const FVector &Normal1, const FVector &Normal2, float ParallelCosineThreshold=THRESH_NORMALS_ARE_PARALLEL)
Definition Vector.h:1019
FORCEINLINE FVector operator-(const FVector &V) const
Definition Vector.h:1135
FORCEINLINE FVector operator-=(const FVector &V)
Definition Vector.h:1204
FVector GetSafeNormal(float Tolerance=SMALL_NUMBER) const
Definition Vector.h:1520
static FVector VectorPlaneProject(const FVector &V, const FVector &PlaneNormal)
Definition Vector.h:1014
FVector operator/=(const FVector &V)
Definition Vector.h:1229
static bool PointsAreSame(const FVector &P, const FVector &Q)
Definition Vector.h:968
FORCEINLINE FVector(float InF)
Definition Vector.h:1062
FORCEINLINE FVector operator+=(const FVector &V)
Definition Vector.h:1198
FORCEINLINE FVector operator-() const
Definition Vector.h:1192
FORCEINLINE FVector operator^(const FVector &V) const
Definition Vector.h:1105
bool IsUniform(float Tolerance=KINDA_SMALL_NUMBER) const
Definition Vector.h:1510
FORCEINLINE FVector operator-(float Bias) const
Definition Vector.h:1140
FRotator ToOrientationRotator() const
FVector(const FLinearColor &InColor)
Definition Vector.h:1072
FVector MirrorByVector(const FVector &MirrorNormal) const
Definition Vector.h:1515
FVector Reciprocal() const
Definition Vector.h:1476
static FORCEINLINE float DistSquaredXY(const FVector &V1, const FVector &V2)
Definition Vector.h:1627
float X
Definition Vector.h:27
static bool PointsAreNear(const FVector &Point1, const FVector &Point2, float Dist)
Definition Vector.h:987
bool InitFromString(const FString &InSourceString)
static FORCEINLINE float DotProduct(const FVector &A, const FVector &B)
Definition Vector.h:1125
float Y
Definition Vector.h:30
FVector ComponentMax(const FVector &Other) const
Definition Vector.h:1301
void ToDirectionAndLength(FVector &OutDir, float &OutLength) const
Definition Vector.h:1361
FORCEINLINE float operator|(const FVector &V) const
Definition Vector.h:1120
FRotator Rotation() const
FORCEINLINE FVector GetUnsafeNormal() const
Definition Vector.h:1392
FVector GetClampedToMaxSize(float MaxSize) const
Definition Vector.h:1428
FORCEINLINE FVector operator*(const FVector &V) const
Definition Vector.h:1161
void FindBestAxisVectors(FVector &Axis1, FVector &Axis2) const
float Size2D() const
Definition Vector.h:1321
FVector(FIntVector InVector)
Definition Vector.h:1077
static const FVector ZeroVector
Definition Vector.h:38
float SizeSquared2D() const
Definition Vector.h:1326
FVector GetSafeNormal2D(float Tolerance=SMALL_NUMBER) const
Definition Vector.h:1537
float & Component(int32 Index)
Definition Vector.h:1466
static FORCEINLINE float BoxPushOut(const FVector &Normal, const FVector &Size)
Definition Vector.h:1632
FVector operator/(float Scale) const
Definition Vector.h:1155
static FVector RadiansToDegrees(const FVector &RadVector)
Definition Vector.h:1052
float GetAbsMin() const
Definition Vector.h:1291
FVector2D UnitCartesianToSpherical() const
bool IsZero() const
Definition Vector.h:1339
FVector GetAbs() const
Definition Vector.h:1306
static float PointPlaneDist(const FVector &Point, const FVector &PlaneBase, const FVector &PlaneNormal)
Definition Vector.h:997
FVector BoundToCube(float Radius) const
Definition Vector.h:1398
static FORCEINLINE float DistSquared(const FVector &V1, const FVector &V2)
Definition Vector.h:1622
FORCEINLINE FVector GetSignVector() const
Definition Vector.h:1376
FORCEINLINE FVector operator/(const FVector &V) const
Definition Vector.h:1166
static FORCEINLINE float Dist2D(const FVector &V1, const FVector &V2)
Definition Vector.h:751
FVector ComponentMin(const FVector &Other) const
Definition Vector.h:1296
float Size() const
Definition Vector.h:1311
float GetMin() const
Definition Vector.h:1286
float Z
Definition Vector.h:33
FString ToString() const
Definition Vector.h:1637
float & operator[](int32 Index)
Definition Vector.h:1235
static FORCEINLINE float Dist(const FVector &V1, const FVector &V2)
Definition Vector.h:1612
FVector GridSnap(const float &GridSz) const
static bool Coincident(const FVector &Normal1, const FVector &Normal2, float ParallelCosineThreshold=THRESH_NORMALS_ARE_PARALLEL)
Definition Vector.h:1025
FVector Projection() const
Definition Vector.h:1386
static bool Coplanar(const FVector &Base1, const FVector &Normal1, const FVector &Base2, const FVector &Normal2, float ParallelCosineThreshold=THRESH_NORMALS_ARE_PARALLEL)
Definition Vector.h:1037
FORCEINLINE FVector ProjectOnTo(const FVector &A) const
Definition Vector.h:1572
static FVector PointPlaneProject(const FVector &Point, const FVector &PlaneBase, const FVector &PlaneNormal)
Definition Vector.h:1007
bool IsNormalized() const
Definition Vector.h:1356
FORCEINLINE FVector ProjectOnToNormal(const FVector &Normal) const
Definition Vector.h:1577
static FVector PointPlaneProject(const FVector &Point, const FVector &A, const FVector &B, const FVector &C)
void UnwindEuler()
bool Equals(const FVector &V, float Tolerance=KINDA_SMALL_NUMBER) const
Definition Vector.h:1181
FQuat ToOrientationQuat() const
bool operator==(const FVector &V) const
Definition Vector.h:1171
FVector GetClampedToSize2D(float Min, float Max) const
Definition Vector.h:1418
float SizeSquared() const
Definition Vector.h:1316
float operator[](int32 Index) const
Definition Vector.h:1252
FVector GetClampedToSize(float Min, float Max) const
Definition Vector.h:1408
float GetAbsMax() const
Definition Vector.h:1281
static FORCEINLINE float DistSquared2D(const FVector &V1, const FVector &V2)
Definition Vector.h:770
FVector operator/=(float V)
Definition Vector.h:1216
float GetMax() const
Definition Vector.h:1276
FVector(FIntPoint A)
Definition Vector.h:1082
static FORCEINLINE FVector CrossProduct(const FVector &A, const FVector &B)
Definition Vector.h:1115
FVector operator*=(const FVector &V)
Definition Vector.h:1223
void Set(float InX, float InY, float InZ)
Definition Vector.h:1269
FORCEINLINE FVector operator+(const FVector &V) const
Definition Vector.h:1130
FORCEINLINE FVector operator*(float Scale) const
Definition Vector.h:1150
static FVector DegreesToRadians(const FVector &DegVector)
Definition Vector.h:1057
FORCEINLINE CONSTEXPR FVector(float InX, float InY, float InZ)
Definition Vector.h:1067
FORCEINLINE float CosineAngle2D(FVector B) const
Definition Vector.h:1562
bool AllComponentsEqual(float Tolerance=KINDA_SMALL_NUMBER) const
Definition Vector.h:1186
FVector GetClampedToMaxSize2D(float MaxSize) const
Definition Vector.h:1447
static FORCEINLINE float DistXY(const FVector &V1, const FVector &V2)
Definition Vector.h:1617
static void CreateOrthonormalBasis(FVector &XAxis, FVector &YAxis, FVector &ZAxis)
FORCEINLINE bool IsUnit(float LengthSquaredTolerance=KINDA_SMALL_NUMBER) const
Definition Vector.h:1590
FVector RotateAngleAxis(const float AngleDeg, const FVector &Axis) const
Definition Vector.h:942
bool ContainsNaN() const
Definition Vector.h:1583
float HeadingAngle() const
Definition Vector.h:1595
static float EvaluateBezier(const FVector *ControlPoints, int32 NumPoints, TArray< FVector > &OutPoints)
float Component(int32 Index) const
Definition Vector.h:1471
FORCEINLINE FVector(const FVector2D V, float InZ)
Definition Vector.h:931
bool IsNearlyZero(float Tolerance=KINDA_SMALL_NUMBER) const
Definition Vector.h:1331
FORCEINLINE FVector(EForceInit)
Definition Vector.h:1087
static FORCEINLINE float Distance(const FVector &V1, const FVector &V2)
Definition Vector.h:741
bool Normalize(float Tolerance=SMALL_NUMBER)
Definition Vector.h:1344
Definition UE.h:623
@ Value
Definition AndOrNot.h:31
static FORCEINLINE uint64 Strtoui64(const CharType *Start, CharType **End, int32 Base)
Definition CString.h:743
static CharType * Stristr(CharType *Str, const CharType *Find)
Definition CString.h:228
static FORCEINLINE CharType * Strstr(CharType *String, const CharType *Find)
Definition CString.h:591
static FORCEINLINE const CharType * Strstr(const CharType *String, const CharType *Find)
Definition CString.h:584
static FORCEINLINE double Atod(const CharType *String)
Definition CString.h:722
static FORCEINLINE int32 Stricmp(const CharType *String1, const CharType *String2)
Definition CString.h:563
static FORCEINLINE int32 Strnicmp(const CharType *String1, const CharType *String2, SIZE_T Count)
Definition CString.h:570
static FORCEINLINE float Atof(const CharType *String)
Definition CString.h:715
static FORCEINLINE int32 Strlen(const CharType *String)
Definition CString.h:577
static FORCEINLINE int32 Atoi(const CharType *String)
Definition CString.h:701
static FORCEINLINE int32 Strncmp(const CharType *String1, const CharType *String2, SIZE_T Count)
Definition CString.h:556
static FORCEINLINE int32 Strtoi(const CharType *Start, CharType **End, int32 Base)
Definition CString.h:729
static const CharType * Stristr(const CharType *Str, const CharType *Find)
Definition CString.h:485
static FORCEINLINE int64 Atoi64(const CharType *String)
Definition CString.h:708
static FORCEINLINE int32 Strcmp(const CharType *String1, const CharType *String2)
Definition CString.h:549
const T *const ParamType
const ArrayType & ConstReference
const T *const ConstPointerType
const ArrayType & ConstReference
TCallTraitsParamTypeHelper< T, PassByValue >::ConstParamType ConstPointerType
TCallTraitsParamTypeHelper< T, PassByValue >::ParamType ParamType
static CharType ToLower(CharType Char)
static bool IsWhitespace(CharType Char)
static CharType ToUpper(CharType Char)
FORCEINLINE friend bool operator!=(const TCheckedPointerIterator &Lhs, const TCheckedPointerIterator &Rhs)
Definition TArray.h:189
TCheckedPointerIterator(const int32 &InNum, ElementType *InPtr)
Definition TArray.h:160
FORCEINLINE TCheckedPointerIterator & operator++()
Definition TArray.h:172
FORCEINLINE ElementType & operator*() const
Definition TArray.h:167
ElementType * Ptr
Definition TArray.h:185
const int32 & CurrentNum
Definition TArray.h:186
FORCEINLINE TCheckedPointerIterator & operator--()
Definition TArray.h:178
IteratorType Iter
Definition TArray.h:223
FORCEINLINE TDereferencingIterator & operator++()
Definition TArray.h:216
FORCEINLINE ElementType & operator*() const
Definition TArray.h:211
FORCEINLINE friend bool operator!=(const TDereferencingIterator &Lhs, const TDereferencingIterator &Rhs)
Definition TArray.h:225
TDereferencingIterator(IteratorType InIter)
Definition TArray.h:206
static FORCEINLINE TCHAR const * GetFormatSpecifier()
FORCEINLINE const Type & operator*() const
TGuardValue(Type &ReferenceValue, const Type &NewValue)
@ Value
Definition IsEnum.h:8
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
static FORCEINLINE TCHAR const * GetName()
@ Value
Definition AndOrNot.h:69
@ Value
Definition AndOrNot.h:60
TScopeCounter(Type &ReferenceValue)
static void FromString(T &Value, const TCHAR *Buffer)
Definition FString.h:1907
static FString ToSanitizedString(const T &Value)
Definition FString.h:1902
static FString ToString(const T &Value)
Definition FString.h:1901
TCallTraits< T >::ParamType ConstInitType
TCallTraits< T >::ConstPointerType ConstPointerType
T * Get(bool bEvenIfPendingKill=false)
Definition UE.h:172
FORCEINLINE T * operator->()
Definition UE.h:167
Definition UE.h:399
UObject * GetDefaultObject(bool bCreateIfNeeded)
Definition UE.h:415
static FORCEINLINE bool Compare(TCHAR Lhs, TCHAR Rhs)
Definition FString.h:1926
static FORCEINLINE bool Compare(TCHAR Lhs, TCHAR Rhs)
Definition FString.h:1918
Definition UE.h:343
Definition Base.h:215
UClass * ClassField()
Definition UE.h:277
FString * GetFullName(FString *result, UObject *StopOuter)
Definition UE.h:296
bool IsA(UClass *SomeBase)
Definition UE.h:299
Definition UE.h:306
Definition Other.h:211
UPrimalGameData * PrimalGameDataOverrideField()
Definition GameMode.h:878
UPrimalGameData * PrimalGameDataField()
Definition GameMode.h:877
FPrimalPlayerDataStruct * MyDataField()
Definition Actor.h:5507
FVector * GetWorldLocation(FVector *result)
Definition Actor.h:523
Definition UE.h:355
Definition UE.h:817
static TArray< AActor * > * ServerOctreeOverlapActors(TArray< AActor * > *result, UWorld *theWorld, FVector AtLoc, float Radius, EServerOctreeGroup::Type OctreeType, bool bForceActorLocationDistanceCheck)
Definition Other.h:410
TArray< TAutoWeakObjectPtr< APlayerController > > & PlayerControllerListField()
Definition GameMode.h:425
APlayerController * GetFirstPlayerController()
Definition GameMode.h:538
AGameState * GameStateField()
Definition GameMode.h:409
AlignSpec(unsigned width, wchar_t fill, Alignment align=ALIGN_DEFAULT)
Definition format.h:1835
int precision() const
Definition format.h:1840
Alignment align_
Definition format.h:1833
Alignment align() const
Definition format.h:1838
bool flag(unsigned) const
Definition format.h:1848
char type_prefix() const
Definition format.h:1850
AlignTypeSpec(unsigned width, wchar_t fill)
Definition format.h:1846
char type() const
Definition format.h:1849
BasicCStringRef< Char > sep
Definition format.h:4037
ArgJoin(It first, It last, const BasicCStringRef< Char > &sep)
Definition format.h:4039
char type() const
Definition format.h:1865
int precision() const
Definition format.h:1864
FormatSpec(unsigned width=0, char type=0, wchar_t fill=' ')
Definition format.h:1859
unsigned flags_
Definition format.h:1855
bool flag(unsigned f) const
Definition format.h:1863
char type_prefix() const
Definition format.h:1866
char type() const
Definition format.h:1813
unsigned width() const
Definition format.h:1810
Alignment align() const
Definition format.h:1809
char fill() const
Definition format.h:1815
int precision() const
Definition format.h:1811
bool flag(unsigned) const
Definition format.h:1812
char type_prefix() const
Definition format.h:1814
WidthSpec(unsigned width, wchar_t fill)
Definition format.h:1825
unsigned width_
Definition format.h:1820
wchar_t fill() const
Definition format.h:1828
unsigned width() const
Definition format.h:1827
wchar_t fill_
Definition format.h:1823
static Arg make(const T &value)
Definition format.h:2395
Value Type[N > 0 ? N :+1]
Definition format.h:2374
static Value make(const T &value)
Definition format.h:2377
static const uint32_t POWERS_OF_10_32[]
Definition format.h:1007
static const char DIGITS[]
Definition format.h:1009
static const uint64_t POWERS_OF_10_64[]
Definition format.h:1008
NamedArg(BasicStringRef< Char > argname, const T &value)
Definition format.h:1541
BasicStringRef< Char > name
Definition format.h:1538
NamedArgWithType(BasicStringRef< Char > argname, const T &value)
Definition format.h:1547
static bool is_negative(T value)
Definition format.h:970
void(* FormatFunc)(void *formatter, const void *arg, void *format_str_ptr)
Definition format.h:1169
LongLong long_long_value
Definition format.h:1180
StringValue< wchar_t > wstring
Definition format.h:1188
CustomValue custom
Definition format.h:1189
const void * pointer
Definition format.h:1184
StringValue< signed char > sstring
Definition format.h:1186
ULongLong ulong_long_value
Definition format.h:1181
long double long_double_value
Definition format.h:1183
StringValue< char > string
Definition format.h:1185
unsigned uint_value
Definition format.h:1179
StringValue< unsigned char > ustring
Definition format.h:1187
async_msg & operator=(const async_msg &other)=delete
async_msg & operator=(async_msg &&other) SPDLOG_NOEXCEPT
async_msg(async_msg &&other) SPDLOG_NOEXCEPT
const std::string * logger_name
Definition log_msg.h:41
fmt::MemoryWriter formatted
Definition log_msg.h:46
log_clock::time_point time
Definition log_msg.h:43
fmt::MemoryWriter raw
Definition log_msg.h:45
log_msg(const log_msg &other)=delete
log_msg & operator=(log_msg &&other)=delete
log_msg(log_msg &&other)=delete
int load(std::memory_order) const
Definition null_mutex.h:33
static filename_t calc_filename(const filename_t &filename)
Definition file_sinks.h:178
static filename_t calc_filename(const filename_t &filename)
Definition file_sinks.h:161
#define FMT_USE_DEFAULTED_FUNCTIONS
Definition format.h:297
#define FMT_OVERRIDE
Definition format.h:263
#define FMT_ASSERT(condition, message)
Definition format.h:337
#define FMT_MAKE_VALUE(Type, field, TYPE)
Definition format.h:1399
#define FMT_GEN3(f)
Definition format.h:2346
#define FMT_GEN11(f)
Definition format.h:2354
#define FMT_FOR_EACH(f,...)
Definition format.h:3630
#define FMT_FOR_EACH3(f, x0, x1, x2)
Definition format.h:2507
#define FMT_CAPTURE_ARG_W_(id, index)
Definition format.h:3722
#define FMT_MAKE_STR_VALUE(Type, TYPE)
Definition format.h:1461
#define FMT_VARIADIC_VOID(func, arg_type)
Definition format.h:2472
#define FMT_RSEQ_N()
Definition format.h:3626
#define FMT_DISABLE_CONVERSION_TO_INT(Type)
Definition format.h:1266
#define FMT_FOR_EACH8(f, x0, x1, x2, x3, x4, x5, x6, x7)
Definition format.h:2517
#define FMT_HAS_GXX_CXX11
Definition format.h:118
#define FMT_STATIC_ASSERT(cond, message)
Definition format.h:1329
#define FMT_USE_VARIADIC_TEMPLATES
Definition format.h:186
#define FMT_MSC_VER
Definition format.h:75
#define FMT_USE_EXTERN_TEMPLATES
Definition format.h:326
#define FMT_GEN1(f)
Definition format.h:2344
#define FMT_CONCAT(a, b)
Definition format.h:1312
#define FMT_DEFINE_INT_FORMATTERS(TYPE)
Definition format.h:1938
#define FMT_SECURE_SCL
Definition format.h:65
#define FMT_GCC_EXTENSION
Definition format.h:117
#define FMT_FOR_EACH1(f, x0)
Definition format.h:2504
#define FMT_GCC_VERSION
Definition format.h:116
#define FMT_HAS_CPP_ATTRIBUTE(x)
Definition format.h:153
#define FMT_CAPTURE_ARG_(id, index)
Definition format.h:3720
#define FMT_FOR_EACH2(f, x0, x1)
Definition format.h:2505
#define FMT_VARIADIC_CTOR(ctor, func, arg0_type, arg1_type)
Definition format.h:2489
#define FMT_EXCEPTIONS
Definition format.h:217
#define FMT_FOR_EACH4(f, x0, x1, x2, x3)
Definition format.h:2509
#define FMT_VARIADIC(ReturnType, func,...)
Definition format.h:3708
#define FMT_USE_NOEXCEPT
Definition format.h:230
#define FMT_GEN14(f)
Definition format.h:2357
#define FMT_USE_WINDOWS_H
Definition format.h:1115
#define FMT_USE_RVALUE_REFERENCES
Definition format.h:197
#define FMT_VARIADIC_(Const, Char, ReturnType, func, call,...)
Definition format.h:3660
#define FMT_USE_DELETED_FUNCTIONS
Definition format.h:280
#define FMT_DEFAULTED_COPY_CTOR(TypeName)
Definition format.h:306
#define FMT_HAS_FEATURE(x)
Definition format.h:141
#define FMT_USE_USER_DEFINED_LITERALS
Definition format.h:321
#define FMT_GET_ARG_NAME(type, index)
Definition format.h:3634
#define FMT_DETECTED_NOEXCEPT
Definition format.h:238
#define FMT_GEN13(f)
Definition format.h:2356
#define FMT_HAS_STRING_VIEW
Definition format.h:59
#define FMT_GEN8(f)
Definition format.h:2351
#define FMT_GEN6(f)
Definition format.h:2349
#define FMT_DISPATCH(call)
Definition format.h:1632
#define FMT_API
Definition format.h:94
#define FMT_ARG_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N,...)
Definition format.h:3625
#define FMT_ADD_ARG_NAME(type, index)
Definition format.h:3633
#define FMT_USE_ALLOCATOR_TRAITS
Definition format.h:206
#define FMT_GEN(n, f)
Definition format.h:2343
#define FMT_GEN2(f)
Definition format.h:2345
#define FMT_FOR_EACH_(N, f,...)
Definition format.h:3628
#define FMT_MAKE_VALUE_(Type, field, TYPE, rhs)
Definition format.h:1395
#define FMT_DELETED_OR_UNDEFINED
Definition format.h:290
#define FMT_DTOR_NOEXCEPT
Definition format.h:254
#define FMT_SPECIALIZE_MAKE_UNSIGNED(T, U)
Definition format.h:698
#define FMT_NORETURN
Definition format.h:179
#define FMT_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition format.h:291
#define FMT_NARG(...)
Definition format.h:3623
#define FMT_NARG_(...)
Definition format.h:3624
#define FMT_USE_STATIC_ASSERT
Definition format.h:1321
#define FMT_GEN7(f)
Definition format.h:2350
#define FMT_FOR_EACH9(f, x0, x1, x2, x3, x4, x5, x6, x7, x8)
Definition format.h:2519
#define FMT_THROW(x)
Definition format.h:222
#define FMT_VARIADIC_W(ReturnType, func,...)
Definition format.h:3714
#define FMT_FOR_EACH5(f, x0, x1, x2, x3, x4)
Definition format.h:2511
#define FMT_GEN12(f)
Definition format.h:2355
#define FMT_GEN9(f)
Definition format.h:2352
#define FMT_GEN4(f)
Definition format.h:2347
#define FMT_FOR_EACH6(f, x0, x1, x2, x3, x4, x5)
Definition format.h:2513
#define FMT_FOR_EACH7(f, x0, x1, x2, x3, x4, x5, x6)
Definition format.h:2515
#define FMT_NOEXCEPT
Definition format.h:243
#define FMT_MAKE_WSTR_VALUE(Type, TYPE)
Definition format.h:1478
#define FMT_EXPAND(args)
Definition format.h:3619
#define FMT_NULL
Definition format.h:273
#define FMT_GEN10(f)
Definition format.h:2353
#define FMT_HAS_INCLUDE(x)
Definition format.h:51
#define FMT_GEN5(f)
Definition format.h:2348