Ark Server API (ASE) - Wiki
Loading...
Searching...
No Matches
Map.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 "../Templates/UnrealTypeTraits.h"
7#include "../Templates/UnrealTemplate.h"
8#include "../Templates/Sorting.h"
9#include "../Misc/StructBuilder.h"
10#include "../Templates/Function.h"
11#include "../Containers/Set.h"
12#include "../Containers/Algo/Reverse.h"
13#include "../Templates/Tuple.h"
14#include "../Templates/HasGetTypeHash.h"
15
16#define ExchangeB(A,B) {bool T=A; A=B; B=T;}
17
18template <typename KeyType, typename ValueType>
19using TPair = TTuple<KeyType, ValueType>;
20
21/** An initializer type for pairs that's passed to the pair set when adding a new pair. */
22template <typename KeyInitType, typename ValueInitType>
24{
25public:
26 typename TRValueToLValueReference<KeyInitType >::Type Key;
27 typename TRValueToLValueReference<ValueInitType>::Type Value;
28
29 /** Initialization constructor. */
30 FORCEINLINE TPairInitializer(KeyInitType InKey, ValueInitType InValue)
31 : Key(InKey)
32 , Value(InValue)
33 {
34 }
35
36 /** Implicit conversion to pair initializer. */
37 template <typename KeyType, typename ValueType>
38 FORCEINLINE TPairInitializer(const TPair<KeyType, ValueType>& Pair)
39 : Key(Pair.Key)
41 {
42 }
43
44 template <typename KeyType, typename ValueType>
45 operator TPair<KeyType, ValueType>() const
46 {
48 }
49};
50
51
52/** An initializer type for keys that's passed to the pair set when adding a new key. */
53template <typename KeyInitType>
55{
56public:
57 typename TRValueToLValueReference<KeyInitType>::Type Key;
58
59 /** Initialization constructor. */
60 FORCEINLINE explicit TKeyInitializer(KeyInitType InKey)
61 : Key(InKey)
62 { }
63
64 template <typename KeyType, typename ValueType>
65 operator TPair<KeyType, ValueType>() const
66 {
68 }
69};
70
71/** Defines how the map's pairs are hashed. */
72template<typename KeyType, typename ValueType, bool bInAllowDuplicateKeys>
73struct TDefaultMapKeyFuncs : BaseKeyFuncs<TPair<KeyType, ValueType>, KeyType, bInAllowDuplicateKeys>
74{
75 typedef typename TTypeTraits<KeyType>::ConstPointerType KeyInitType;
76 typedef const TPairInitializer<typename TTypeTraits<KeyType>::ConstInitType, typename TTypeTraits<ValueType>::ConstInitType>& ElementInitType;
77
78 static FORCEINLINE KeyInitType GetSetKey(ElementInitType Element)
79 {
80 return Element.Key;
81 }
82 static FORCEINLINE bool Matches(KeyInitType A, KeyInitType B)
83 {
84 return A == B;
85 }
86 static FORCEINLINE uint32 GetKeyHash(KeyInitType Key)
87 {
88 return GetTypeHash(Key);
89 }
90};
91
92template<typename KeyType, typename ValueType, bool bInAllowDuplicateKeys>
93struct TDefaultMapHashableKeyFuncs : TDefaultMapKeyFuncs<KeyType, ValueType, bInAllowDuplicateKeys>
94{
95 static_assert(THasGetTypeHash<KeyType>::Value, "TMap must have a hashable KeyType unless a custom key func is provided.");
96};
97
98/**
99* The base class of maps from keys to values. Implemented using a TSet of key-value pairs with a custom KeyFuncs,
100* with the same O(1) addition, removal, and finding.
101**/
102template <typename KeyType, typename ValueType, typename SetAllocator, typename KeyFuncs>
104{
105 template <typename OtherKeyType, typename OtherValueType, typename OtherSetAllocator, typename OtherKeyFuncs>
106 friend class TMapBase;
107
108 friend struct TContainerTraits<TMapBase>;
109
110public:
112 typedef typename TTypeTraits<KeyType >::ConstInitType KeyInitType;
113 typedef typename TTypeTraits<ValueType>::ConstInitType ValueInitType;
114 typedef TPair<KeyType, ValueType> ElementType;
115
116protected:
117
119
120 TMapBase() = default;
121 TMapBase(TMapBase&&) = default;
122 TMapBase(const TMapBase&) = default;
123 TMapBase& operator=(TMapBase&&) = default;
124 TMapBase& operator=(const TMapBase&) = default;
125
126#else
127
132 FORCEINLINE TMapBase& operator=(const TMapBase& Other) { Pairs = Other.Pairs; return *this; }
133
134#endif
135
136 /** Constructor for moving elements from a TMap with a different SetAllocator */
137 template<typename OtherSetAllocator>
138 TMapBase(TMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
140 { }
141
142 /** Constructor for copying elements from a TMap with a different SetAllocator */
143 template<typename OtherSetAllocator>
144 TMapBase(const TMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
145 : Pairs(Other.Pairs)
146 { }
147
148 /** Assignment operator for moving elements from a TMap with a different SetAllocator */
149 template<typename OtherSetAllocator>
150 TMapBase& operator=(TMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
151 {
153 return *this;
154 }
155
156 /** Assignment operator for copying elements from a TMap with a different SetAllocator */
157 template<typename OtherSetAllocator>
158 TMapBase& operator=(const TMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
159 {
160 Pairs = Other.Pairs;
161 return *this;
162 }
163
164public:
165 // Legacy comparison operators. Note that these also test whether the map's key-value pairs were added in the same order!
166 friend bool LegacyCompareEqual(const TMapBase& A, const TMapBase& B)
167 {
169 }
170 friend bool LegacyCompareNotEqual(const TMapBase& A, const TMapBase& B)
171 {
173 }
174
175 /**
176 * Compare this map with another for equality. Does not make any assumptions about Key order.
177 * NOTE: this might be a candidate for operator== but it was decided to make it an explicit function
178 * since it can potentially be quite slow.
179 *
180 * @param Other The other map to compare against
181 * @returns True if both this and Other contain the same keys with values that compare ==
182 */
183 bool OrderIndependentCompareEqual(const TMapBase& Other) const
184 {
185 // first check counts (they should be the same obviously)
186 if (Num() != Other.Num())
187 {
188 return false;
189 }
190
191 // since we know the counts are the same, we can just iterate one map and check for existence in the other
192 for (typename ElementSetType::TConstIterator It(Pairs); It; ++It)
193 {
194 const ValueType* BVal = Other.Find(It->Key);
195 if (BVal == nullptr)
196 {
197 return false;
198 }
199 if (!(*BVal == It->Value))
200 {
201 return false;
202 }
203 }
204
205 // all fields in A match B and A and B's counts are the same (so there can be no fields in B not in A)
206 return true;
207 }
208
209 /**
210 * Removes all elements from the map.
211 *
212 * This method potentially leaves space allocated for an expected
213 * number of elements about to be added.
214 *
215 * @param ExpectedNumElements The number of elements about to be added to the set.
216 */
217 FORCEINLINE void Empty(int32 ExpectedNumElements = 0)
218 {
220 }
221
222 /** Efficiently empties out the map but preserves all allocations and capacities */
223 FORCEINLINE void Reset()
224 {
225 Pairs.Reset();
226 }
227
228 /** Shrinks the pair set to avoid slack. */
229 FORCEINLINE void Shrink()
230 {
231 Pairs.Shrink();
232 }
233
234 /** Compacts the pair set to remove holes */
235 FORCEINLINE void Compact()
236 {
237 Pairs.Compact();
238 }
239
240 /** Compacts the pair set to remove holes. Does not change the iteration order of the elements. */
241 FORCEINLINE void CompactStable()
242 {
244 }
245
246 /** Preallocates enough memory to contain Number elements */
247 FORCEINLINE void Reserve(int32 Number)
248 {
250 }
251
252 /** @return The number of elements in the map. */
253 FORCEINLINE int32 Num() const
254 {
255 return Pairs.Num();
256 }
257
258 /**
259 * Get the unique keys contained within this map.
260 *
261 * @param OutKeys Upon return, contains the set of unique keys in this map.
262 * @return The number of unique keys in the map.
263 */
264 template<typename Allocator> int32 GetKeys(TArray<KeyType, Allocator>& OutKeys) const
265 {
267 for (typename ElementSetType::TConstIterator It(Pairs); It; ++It)
268 {
269 if (!VisitedKeys.Contains(It->Key))
270 {
271 OutKeys.Add(It->Key);
273 }
274 }
275 return OutKeys.Num();
276 }
277
278 /**
279 * Helper function to return the amount of memory allocated by this container .
280 *
281 * @return Number of bytes allocated by this container.
282 * @see CountBytes
283 */
284 FORCEINLINE uint32 GetAllocatedSize() const
285 {
286 return Pairs.GetAllocatedSize();
287 }
288
289 /**
290 * Set the value associated with a key.
291 *
292 * @param InKey The key to associate the value with.
293 * @param InValue The value to associate with the key.
294 * @return A reference to the value as stored in the map. The reference is only valid until the next change to any key in the map.
295 */
296 FORCEINLINE ValueType& Add(const KeyType& InKey, const ValueType& InValue) { return Emplace(InKey, InValue); }
297 FORCEINLINE ValueType& Add(const KeyType& InKey, ValueType&& InValue) { return Emplace(InKey, MoveTempIfPossible(InValue)); }
298 FORCEINLINE ValueType& Add(KeyType&& InKey, const ValueType& InValue) { return Emplace(MoveTempIfPossible(InKey), InValue); }
299 FORCEINLINE ValueType& Add(KeyType&& InKey, ValueType&& InValue) { return Emplace(MoveTempIfPossible(InKey), MoveTempIfPossible(InValue)); }
300
301 /**
302 * Set a default value associated with a key.
303 *
304 * @param InKey The key to associate the value with.
305 * @return A reference to the value as stored in the map. The reference is only valid until the next change to any key in the map.
306 */
307 FORCEINLINE ValueType& Add(const KeyType& InKey) { return Emplace(InKey); }
308 FORCEINLINE ValueType& Add(KeyType&& InKey) { return Emplace(MoveTempIfPossible(InKey)); }
309
310 /**
311 * Sets the value associated with a key.
312 *
313 * @param InKey The key to associate the value with.
314 * @param InValue The value to associate with the key.
315 * @return A reference to the value as stored in the map. The reference is only valid until the next change to any key in the map. */
316 template <typename InitKeyType, typename InitValueType>
317 ValueType& Emplace(InitKeyType&& InKey, InitValueType&& InValue)
318 {
320
321 return Pairs[PairId].Value;
322 }
323
324 /**
325 * Set a default value associated with a key.
326 *
327 * @param InKey The key to associate the value with.
328 * @return A reference to the value as stored in the map. The reference is only valid until the next change to any key in the map.
329 */
330 template <typename InitKeyType>
331 ValueType& Emplace(InitKeyType&& InKey)
332 {
334
335 return Pairs[PairId].Value;
336 }
337
338 /**
339 * Remove all value associations for a key.
340 *
341 * @param InKey The key to remove associated values for.
342 * @return The number of values that were associated with the key.
343 */
344 FORCEINLINE int32 Remove(KeyConstPointerType InKey)
345 {
347 return NumRemovedPairs;
348 }
349
350 /**
351 * Find the key associated with the specified value.
352 *
353 * The time taken is O(N) in the number of pairs.
354 *
355 * @param Value The value to search for
356 * @return A pointer to the key associated with the specified value,
357 * or nullptr if the value isn't contained in this map. The pointer
358 * is only valid until the next change to any key in the map.
359 */
360 const KeyType* FindKey(ValueInitType Value) const
361 {
363 {
364 if (PairIt->Value == Value)
365 {
366 return &PairIt->Key;
367 }
368 }
369 return nullptr;
370 }
371
372 /**
373 * Find the value associated with a specified key.
374 *
375 * @param Key The key to search for.
376 * @return A pointer to the value associated with the specified key, or nullptr if the key isn't contained in this map. The pointer
377 * is only valid until the next change to any key in the map.
378 */
379 FORCEINLINE ValueType* Find(KeyConstPointerType Key)
380 {
381 if (auto* Pair = Pairs.Find(Key))
382 {
383 return &Pair->Value;
384 }
385
386 return nullptr;
387 }
388 FORCEINLINE const ValueType* Find(KeyConstPointerType Key) const
389 {
390 return const_cast<TMapBase*>(this)->Find(Key);
391 }
392
393private:
394
395 /**
396 * Find the value associated with a specified key, or if none exists,
397 * adds a value using the default constructor.
398 *
399 * @param Key The key to search for.
400 * @return A reference to the value associated with the specified key.
401 */
402 template <typename ArgType>
403 FORCEINLINE ValueType& FindOrAddImpl(ArgType&& Arg)
404 {
405 if (auto* Pair = Pairs.Find(Arg))
406 return Pair->Value;
407
408 return Add(Forward<ArgType>(Arg));
409 }
410
411public:
412
413 /**
414 * Find the value associated with a specified key, or if none exists,
415 * adds a value using the default constructor.
416 *
417 * @param Key The key to search for.
418 * @return A reference to the value associated with the specified key.
419 */
420 FORCEINLINE ValueType& FindOrAdd(const KeyType& Key) { return FindOrAddImpl(Key); }
421 FORCEINLINE ValueType& FindOrAdd(KeyType&& Key) { return FindOrAddImpl(MoveTempIfPossible(Key)); }
422
423 /**
424 * Find the value associated with a specified key, or if none exists,
425 * adds a value using the key as the constructor parameter.
426 *
427 * @param Key The key to search for.
428 * @return A reference to the value associated with the specified key.
429 */
430 //@todo UE4 merge - this prevents FConfigCacheIni from compiling
431 /*ValueType& FindOrAddKey(KeyInitType Key)
432 {
433 TPair* Pair = Pairs.Find(Key);
434 if( Pair )
435 {
436 return Pair->Value;
437 }
438 else
439 {
440 return Set(Key, ValueType(Key));
441 }
442 }*/
443
444 /**
445 * Find a reference to the value associated with a specified key.
446 *
447 * @param Key The key to search for.
448 * @return The value associated with the specified key, or triggers an assertion if the key does not exist.
449 */
450 FORCEINLINE const ValueType& FindChecked(KeyConstPointerType Key) const
451 {
452 const auto* Pair = Pairs.Find(Key);
453 check(Pair != nullptr);
454 return Pair->Value;
455 }
456
457 /**
458 * Find a reference to the value associated with a specified key.
459 *
460 * @param Key The key to search for.
461 * @return The value associated with the specified key, or triggers an assertion if the key does not exist.
462 */
463 FORCEINLINE ValueType& FindChecked(KeyConstPointerType Key)
464 {
465 auto* Pair = Pairs.Find(Key);
466 check(Pair != nullptr);
467 return Pair->Value;
468 }
469
470 /**
471 * Find the value associated with a specified key.
472 *
473 * @param Key The key to search for.
474 * @return The value associated with the specified key, or the default value for the ValueType if the key isn't contained in this map.
475 */
476 FORCEINLINE ValueType FindRef(KeyConstPointerType Key) const
477 {
478 if (const auto* Pair = Pairs.Find(Key))
479 {
480 return Pair->Value;
481 }
482
483 return ValueType();
484 }
485
486 /**
487 * Check if map contains the specified key.
488 *
489 * @param Key The key to check for.
490 * @return true if the map contains the key.
491 */
492 FORCEINLINE bool Contains(KeyConstPointerType Key) const
493 {
494 return Pairs.Contains(Key);
495 }
496
497 /**
498 * Generate an array from the keys in this map.
499 *
500 * @param OutArray Will contain the collection of keys.
501 */
502 template<typename Allocator> void GenerateKeyArray(TArray<KeyType, Allocator>& OutArray) const
503 {
506 {
507 new(OutArray) KeyType(PairIt->Key);
508 }
509 }
510
511 /**
512 * Generate an array from the values in this map.
513 *
514 * @param OutArray Will contain the collection of values.
515 */
516 template<typename Allocator> void GenerateValueArray(TArray<ValueType, Allocator>& OutArray) const
517 {
520 {
522 }
523 }
524
525protected:
526 typedef TSet<ElementType, KeyFuncs, SetAllocator> ElementSetType;
527
528 /** The base of TMapBase iterators. */
529 template<bool bConst, bool bRangedFor = false>
531 {
532 public:
533 typedef typename TChooseClass<
534 bConst,
535 typename TChooseClass<bRangedFor, typename ElementSetType::TRangedForConstIterator, typename ElementSetType::TConstIterator>::Result,
536 typename TChooseClass<bRangedFor, typename ElementSetType::TRangedForIterator, typename ElementSetType::TIterator >::Result
538 private:
539 typedef typename TChooseClass<bConst, const TMapBase, TMapBase>::Result MapType;
540 typedef typename TChooseClass<bConst, const KeyType, KeyType>::Result ItKeyType;
541 typedef typename TChooseClass<bConst, const ValueType, ValueType>::Result ItValueType;
542 typedef typename TChooseClass<bConst, const typename ElementSetType::ElementType, typename ElementSetType::ElementType>::Result PairType;
543
544 public:
545 FORCEINLINE TBaseIterator(const PairItType& InElementIt)
547 {
548 }
549
550 FORCEINLINE TBaseIterator& operator++()
551 {
552 ++PairIt;
553 return *this;
554 }
555
556 /** conversion to "bool" returning true if the iterator is valid. */
557 FORCEINLINE explicit operator bool() const
558 {
559 return !!PairIt;
560 }
561 /** inverse of the "bool" operator */
562 FORCEINLINE bool operator !() const
563 {
564 return !(bool)*this;
565 }
566
567 FORCEINLINE friend bool operator==(const TBaseIterator& Lhs, const TBaseIterator& Rhs) { return Lhs.PairIt == Rhs.PairIt; }
568 FORCEINLINE friend bool operator!=(const TBaseIterator& Lhs, const TBaseIterator& Rhs) { return Lhs.PairIt != Rhs.PairIt; }
569
570 FORCEINLINE ItKeyType& Key() const { return PairIt->Key; }
571 FORCEINLINE ItValueType& Value() const { return PairIt->Value; }
572
573 FORCEINLINE PairType& operator* () const { return *PairIt; }
574 FORCEINLINE PairType* operator->() const { return &*PairIt; }
575
576 protected:
578 };
579
580 /** The base type of iterators that iterate over the values associated with a specified key. */
581 template<bool bConst>
583 {
584 private:
585 typedef typename TChooseClass<bConst, typename ElementSetType::TConstKeyIterator, typename ElementSetType::TKeyIterator>::Result SetItType;
586 typedef typename TChooseClass<bConst, const KeyType, KeyType>::Result ItKeyType;
587 typedef typename TChooseClass<bConst, const ValueType, ValueType>::Result ItValueType;
588
589 public:
590 /** Initialization constructor. */
591 FORCEINLINE TBaseKeyIterator(const SetItType& InSetIt)
592 : SetIt(InSetIt)
593 {
594 }
595
596 FORCEINLINE TBaseKeyIterator& operator++()
597 {
598 ++SetIt;
599 return *this;
600 }
601
602 /** conversion to "bool" returning true if the iterator is valid. */
603 FORCEINLINE explicit operator bool() const
604 {
605 return !!SetIt;
606 }
607 /** inverse of the "bool" operator */
608 FORCEINLINE bool operator !() const
609 {
610 return !(bool)*this;
611 }
612
613 FORCEINLINE ItKeyType& Key() const { return SetIt->Key; }
614 FORCEINLINE ItValueType& Value() const { return SetIt->Value; }
615
616 protected:
618 };
619
620 /** A set of the key-value pairs in the map. */
622
623public:
624
625 /** Map iterator. */
626 class TIterator : public TBaseIterator<false>
627 {
628 public:
629
630 /** Initialization constructor. */
631 FORCEINLINE TIterator(TMapBase& InMap, bool bInRequiresRehashOnRemoval = false)
633 , Map(InMap)
636 {
637 }
638
639 /** Destructor. */
640 FORCEINLINE ~TIterator()
641 {
643 {
644 Map.Pairs.Relax();
645 }
646 }
647
648 /** Removes the current pair from the map. */
649 FORCEINLINE void RemoveCurrent()
650 {
653 }
654
655 private:
659 };
660
661 /** Const map iterator. */
662 class TConstIterator : public TBaseIterator<true>
663 {
664 public:
665 FORCEINLINE TConstIterator(const TMapBase& InMap)
667 {
668 }
669 };
670
671 using TRangedForIterator = TBaseIterator<false, true>;
672 using TRangedForConstIterator = TBaseIterator<true, true>;
673
674 /** Iterates over values associated with a specified key in a const map. */
676 {
677 public:
678 FORCEINLINE TConstKeyIterator(const TMapBase& InMap, KeyInitType InKey)
680 {}
681 };
682
683 /** Iterates over values associated with a specified key in a map. */
684 class TKeyIterator : public TBaseKeyIterator<false>
685 {
686 public:
687 FORCEINLINE TKeyIterator(TMapBase& InMap, KeyInitType InKey)
689 {}
690
691 /** Removes the current key-value pair from the map. */
692 FORCEINLINE void RemoveCurrent()
693 {
695 }
696 };
697
698 /** Creates an iterator over all the pairs in this map */
700 {
701 return TIterator(*this);
702 }
703
704 /** Creates a const iterator over all the pairs in this map */
706 {
707 return TConstIterator(*this);
708 }
709
710 /** Creates an iterator over the values associated with a specified key in a map */
712 {
713 return TKeyIterator(*this, InKey);
714 }
715
716 /** Creates a const iterator over the values associated with a specified key in a map */
718 {
719 return TConstKeyIterator(*this, InKey);
720 }
721
722private:
723 /**
724 * DO NOT USE DIRECTLY
725 * STL-like iterators to enable range-based for loop support.
726 */
727 FORCEINLINE friend TRangedForIterator begin(TMapBase& MapBase) { return TRangedForIterator(begin(MapBase.Pairs)); }
728 FORCEINLINE friend TRangedForConstIterator begin(const TMapBase& MapBase) { return TRangedForConstIterator(begin(MapBase.Pairs)); }
729 FORCEINLINE friend TRangedForIterator end(TMapBase& MapBase) { return TRangedForIterator(end(MapBase.Pairs)); }
730 FORCEINLINE friend TRangedForConstIterator end(const TMapBase& MapBase) { return TRangedForConstIterator(end(MapBase.Pairs)); }
731};
732
733
734/** The base type of sortable maps. */
735template <typename KeyType, typename ValueType, typename SetAllocator, typename KeyFuncs>
736class TSortableMapBase : public TMapBase<KeyType, ValueType, SetAllocator, KeyFuncs>
737{
738 friend struct TContainerTraits<TSortableMapBase>;
739
740protected:
741 typedef TMapBase<KeyType, ValueType, SetAllocator, KeyFuncs> Super;
742
744
745 TSortableMapBase() = default;
750
751#else
752
758
759#endif
760
761 /** Constructor for moving elements from a TMap with a different SetAllocator */
762 template<typename OtherSetAllocator>
763 TSortableMapBase(TSortableMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
765 {
766 }
767
768 /** Constructor for copying elements from a TMap with a different SetAllocator */
769 template<typename OtherSetAllocator>
770 TSortableMapBase(const TSortableMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
771 : Super(Other)
772 {
773 }
774
775 /** Assignment operator for moving elements from a TMap with a different SetAllocator */
776 template<typename OtherSetAllocator>
777 TSortableMapBase& operator=(TSortableMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
778 {
779 (Super&)*this = MoveTemp(Other);
780 return *this;
781 }
782
783 /** Assignment operator for copying elements from a TMap with a different SetAllocator */
784 template<typename OtherSetAllocator>
785 TSortableMapBase& operator=(const TSortableMapBase<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
786 {
787 (Super&)*this = Other;
788 return *this;
789 }
790
791public:
792 /**
793 * Sorts the pairs array using each pair's Key as the sort criteria, then rebuilds the map's hash.
794 * Invoked using "MyMapVar.KeySort( PREDICATE_CLASS() );"
795 */
796 template<typename PREDICATE_CLASS>
797 FORCEINLINE void KeySort(const PREDICATE_CLASS& Predicate)
798 {
800 }
801
802 /**
803 * Sorts the pairs array using each pair's Value as the sort criteria, then rebuilds the map's hash.
804 * Invoked using "MyMapVar.ValueSort( PREDICATE_CLASS() );"
805 */
806 template<typename PREDICATE_CLASS>
807 FORCEINLINE void ValueSort(const PREDICATE_CLASS& Predicate)
808 {
810 }
811
812private:
813
814 /** Extracts the pair's key from the map's pair structure and passes it to the user provided comparison class. */
815 template<typename PREDICATE_CLASS>
817 {
818 TDereferenceWrapper< KeyType, PREDICATE_CLASS> Predicate;
819
820 public:
821
822 FORCEINLINE FKeyComparisonClass(const PREDICATE_CLASS& InPredicate)
824 {}
825
826 FORCEINLINE bool operator()(const typename Super::ElementType& A, const typename Super::ElementType& B) const
827 {
828 return Predicate(A.Key, B.Key);
829 }
830 };
831
832 /** Extracts the pair's value from the map's pair structure and passes it to the user provided comparison class. */
833 template<typename PREDICATE_CLASS>
835 {
836 TDereferenceWrapper< ValueType, PREDICATE_CLASS> Predicate;
837
838 public:
839
840 FORCEINLINE FValueComparisonClass(const PREDICATE_CLASS& InPredicate)
842 {}
843
844 FORCEINLINE bool operator()(const typename Super::ElementType& A, const typename Super::ElementType& B) const
845 {
846 return Predicate(A.Value, B.Value);
847 }
848 };
849};
850
851class FScriptMap;
852
853/** A TMapBase specialization that only allows a single value associated with each key.*/
854template<typename KeyType, typename ValueType, typename SetAllocator = FDefaultSetAllocator, typename KeyFuncs = TDefaultMapHashableKeyFuncs<KeyType,ValueType,false>>
855class TMap : public TSortableMapBase<KeyType, ValueType, SetAllocator, KeyFuncs>
856{
857 friend struct TContainerTraits<TMap>;
858 friend class FScriptMap;
859
860 static_assert(!KeyFuncs::bAllowDuplicateKeys, "TMap cannot be instantiated with a KeyFuncs which allows duplicate keys");
861
862public:
863 typedef TSortableMapBase<KeyType, ValueType, SetAllocator, KeyFuncs> Super;
864 typedef typename Super::KeyInitType KeyInitType;
866
868
869 TMap() = default;
870 TMap(TMap&&) = default;
871 TMap(const TMap&) = default;
872 TMap& operator=(TMap&&) = default;
873 TMap& operator=(const TMap&) = default;
874
875#else
876
877 FORCEINLINE TMap() {}
879 FORCEINLINE TMap(const TMap& Other) : Super(Other) {}
880 FORCEINLINE TMap& operator=(TMap&& Other) { Super::operator=(MoveTemp(Other)); return *this; }
881 FORCEINLINE TMap& operator=(const TMap& Other) { Super::operator=(Other); return *this; }
882
883#endif
884
885 /** Constructor for moving elements from a TMap with a different SetAllocator */
886 template<typename OtherSetAllocator>
887 TMap(TMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
889 {
890 }
891
892 /** Constructor for copying elements from a TMap with a different SetAllocator */
893 template<typename OtherSetAllocator>
894 TMap(const TMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
895 : Super(Other)
896 {
897 }
898
899 /** Assignment operator for moving elements from a TMap with a different SetAllocator */
900 template<typename OtherSetAllocator>
901 TMap& operator=(TMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
902 {
903 (Super&)*this = MoveTemp(Other);
904 return *this;
905 }
906
907 /** Assignment operator for copying elements from a TMap with a different SetAllocator */
908 template<typename OtherSetAllocator>
909 TMap& operator=(const TMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
910 {
911 (Super&)*this = Other;
912 return *this;
913 }
914
915 /**
916 * Remove the pair with the specified key and copies the value
917 * that was removed to the ref parameter
918 *
919 * @param Key The key to search for
920 * @param OutRemovedValue If found, the value that was removed (not modified if the key was not found)
921 * @return whether or not the key was found
922 */
923 FORCEINLINE bool RemoveAndCopyValue(KeyInitType Key, ValueType& OutRemovedValue)
924 {
926 if (!PairId.IsValidId())
927 return false;
928
931 return true;
932 }
933
934 /**
935 * Find a pair with the specified key, removes it from the map, and returns the value part of the pair.
936 *
937 * If no pair was found, an exception is thrown.
938 *
939 * @param Key the key to search for
940 * @return whether or not the key was found
941 */
942 FORCEINLINE ValueType FindAndRemoveChecked(KeyConstPointerType Key)
943 {
945 check(PairId.IsValidId());
948 return Result;
949 }
950
951 /**
952 * Move all items from another map into our map (if any keys are in both,
953 * the value from the other map wins) and empty the other map.
954 *
955 * @param OtherMap The other map of items to move the elements from.
956 */
957 template<typename OtherSetAllocator>
958 void Append(TMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& OtherMap)
959 {
960 this->Reserve(this->Num() + OtherMap.Num());
961 for (auto& Pair : OtherMap)
962 {
964 }
965
966 OtherMap.Reset();
967 }
968
969 /**
970 * Add all items from another map to our map (if any keys are in both,
971 * the value from the other map wins).
972 *
973 * @param OtherMap The other map of items to add.
974 */
975 template<typename OtherSetAllocator>
976 void Append(const TMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& OtherMap)
977 {
978 this->Reserve(this->Num() + OtherMap.Num());
979 for (auto& Pair : OtherMap)
980 {
981 this->Add(Pair.Key, Pair.Value);
982 }
983 }
984
985 FORCEINLINE ValueType& operator[](KeyConstPointerType Key) { return this->FindChecked(Key); }
986 FORCEINLINE const ValueType& operator[](KeyConstPointerType Key) const { return this->FindChecked(Key); }
987};
988
989
990/** A TMapBase specialization that allows multiple values to be associated with each key. */
991template<typename KeyType, typename ValueType, typename SetAllocator /* = FDefaultSetAllocator */, typename KeyFuncs /*= TDefaultMapHashableKeyFuncs<KeyType,ValueType,true>*/>
992class TMultiMap : public TSortableMapBase<KeyType, ValueType, SetAllocator, KeyFuncs>
993{
994 friend struct TContainerTraits<TMultiMap>;
995
996 static_assert(KeyFuncs::bAllowDuplicateKeys, "TMultiMap cannot be instantiated with a KeyFuncs which disallows duplicate keys");
997
998public:
999 typedef TSortableMapBase<KeyType, ValueType, SetAllocator, KeyFuncs> Super;
1001 typedef typename Super::KeyInitType KeyInitType;
1003
1005
1006 TMultiMap() = default;
1007 TMultiMap(TMultiMap&&) = default;
1008 TMultiMap(const TMultiMap&) = default;
1010 TMultiMap& operator=(const TMultiMap&) = default;
1011
1012#else
1013
1018 FORCEINLINE TMultiMap& operator=(const TMultiMap& Other) { Super::operator=(Other); return *this; }
1019
1020#endif
1021
1022 /** Constructor for moving elements from a TMap with a different SetAllocator */
1023 template<typename OtherSetAllocator>
1024 TMultiMap(TMultiMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
1025 : Super(MoveTemp(Other))
1026 {
1027 }
1028
1029 /** Constructor for copying elements from a TMap with a different SetAllocator */
1030 template<typename OtherSetAllocator>
1031 TMultiMap(const TMultiMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
1032 : Super(Other)
1033 {
1034 }
1035
1036 /** Assignment operator for moving elements from a TMap with a different SetAllocator */
1037 template<typename OtherSetAllocator>
1038 TMultiMap& operator=(TMultiMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>&& Other)
1039 {
1040 (Super&)*this = MoveTemp(Other);
1041 return *this;
1042 }
1043
1044 /** Assignment operator for copying elements from a TMap with a different SetAllocator */
1045 template<typename OtherSetAllocator>
1046 TMultiMap& operator=(const TMultiMap<KeyType, ValueType, OtherSetAllocator, KeyFuncs>& Other)
1047 {
1048 (Super&)*this = Other;
1049 return *this;
1050 }
1051
1052 /**
1053 * Finds all values associated with the specified key.
1054 *
1055 * @param Key The key to find associated values for.
1056 * @param OutValues Upon return, contains the values associated with the key.
1057 * @param bMaintainOrder true if the Values array should be in the same order as the map's pairs.
1058 */
1059 template<typename Allocator> void MultiFind(KeyInitType Key, TArray<ValueType, Allocator>& OutValues, bool bMaintainOrder = false) const
1060 {
1061 for (typename Super::ElementSetType::TConstKeyIterator It(Super::Pairs, Key); It; ++It)
1062 {
1063 new(OutValues) ValueType(It->Value);
1064 }
1065
1066 if (bMaintainOrder)
1067 {
1069 }
1070 }
1071
1072 /**
1073 * Finds all values associated with the specified key.
1074 *
1075 * @param Key The key to find associated values for.
1076 * @param OutValues Upon return, contains pointers to the values associated with the key.
1077 * Pointers are only valid until the next change to any key in the map.
1078 * @param bMaintainOrder true if the Values array should be in the same order as the map's pairs.
1079 */
1080 template<typename Allocator> void MultiFindPointer(KeyInitType Key, TArray<const ValueType*, Allocator>& OutValues, bool bMaintainOrder = false) const
1081 {
1082 for (typename Super::ElementSetType::TConstKeyIterator It(Super::Pairs, Key); It; ++It)
1083 {
1084 OutValues.Add(&It->Value);
1085 }
1086
1087 if (bMaintainOrder)
1088 {
1090 }
1091 }
1092 template<typename Allocator> void MultiFindPointer(KeyInitType Key, TArray<ValueType*, Allocator>& OutValues, bool bMaintainOrder = false)
1093 {
1094 for (typename Super::ElementSetType::TKeyIterator It(Super::Pairs, Key); It; ++It)
1095 {
1096 OutValues.Add(&It->Value);
1097 }
1098
1099 if (bMaintainOrder)
1100 {
1102 }
1103 }
1104
1105 /**
1106 * Add a key-value association to the map. The association doesn't replace any of the key's existing associations.
1107 * However, if both the key and value match an existing association in the map, no new association is made and the existing association's
1108 * value is returned.
1109 *
1110 * @param InKey The key to associate.
1111 * @param InValue The value to associate.
1112 * @return A reference to the value as stored in the map; the reference is only valid until the next change to any key in the map.
1113 */
1114 FORCEINLINE ValueType& AddUnique(const KeyType& InKey, const ValueType& InValue) { return EmplaceUnique(InKey, InValue); }
1115 FORCEINLINE ValueType& AddUnique(const KeyType& InKey, ValueType&& InValue) { return EmplaceUnique(InKey, MoveTempIfPossible(InValue)); }
1116 FORCEINLINE ValueType& AddUnique(KeyType&& InKey, const ValueType& InValue) { return EmplaceUnique(MoveTempIfPossible(InKey), InValue); }
1117 FORCEINLINE ValueType& AddUnique(KeyType&& InKey, ValueType&& InValue) { return EmplaceUnique(MoveTempIfPossible(InKey), MoveTempIfPossible(InValue)); }
1118
1119 /**
1120 * Add a key-value association to the map.
1121 *
1122 * The association doesn't replace any of the key's existing associations.
1123 * However, if both key and value match an existing association in the map,
1124 * no new association is made and the existing association's value is returned.
1125 *
1126 * @param InKey The key to associate.
1127 * @param InValue The value to associate.
1128 * @return A reference to the value as stored in the map; the reference is only valid until the next change to any key in the map.
1129 */
1130 template <typename InitKeyType, typename InitValueType>
1131 ValueType& EmplaceUnique(InitKeyType&& InKey, InitValueType&& InValue)
1132 {
1134 {
1135 return *Found;
1136 }
1137
1138 // If there's no existing association with the same key and value, create one.
1140 }
1141
1142 /**
1143 * Remove all value associations for a key.
1144 *
1145 * @param InKey The key to remove associated values for.
1146 * @return The number of values that were associated with the key.
1147 */
1148 FORCEINLINE int32 Remove(KeyConstPointerType InKey)
1149 {
1150 return Super::Remove(InKey);
1151 }
1152
1153 /**
1154 * Remove associations between the specified key and value from the map.
1155 *
1156 * @param InKey The key part of the pair to remove.
1157 * @param InValue The value part of the pair to remove.
1158 * @return The number of associations removed.
1159 */
1160 int32 Remove(KeyInitType InKey, ValueInitType InValue)
1161 {
1162 // Iterate over pairs with a matching key.
1164 for (typename Super::ElementSetType::TKeyIterator It(Super::Pairs, InKey); It; ++It)
1165 {
1166 // If this pair has a matching value as well, remove it.
1167 if (It->Value == InValue)
1168 {
1169 It.RemoveCurrent();
1171 }
1172 }
1173 return NumRemovedPairs;
1174 }
1175
1176 /**
1177 * Remove the first association between the specified key and value from the map.
1178 *
1179 * @param InKey The key part of the pair to remove.
1180 * @param InValue The value part of the pair to remove.
1181 * @return The number of associations removed.
1182 */
1184 {
1185 // Iterate over pairs with a matching key.
1187 for (typename Super::ElementSetType::TKeyIterator It(Super::Pairs, InKey); It; ++It)
1188 {
1189 // If this pair has a matching value as well, remove it.
1190 if (It->Value == InValue)
1191 {
1192 It.RemoveCurrent();
1194
1195 // We were asked to remove only the first association, so bail out.
1196 break;
1197 }
1198 }
1199 return NumRemovedPairs;
1200 }
1201
1202 /**
1203 * Find an association between a specified key and value. (const)
1204 *
1205 * @param Key The key to find.
1206 * @param Value The value to find.
1207 * @return If the map contains a matching association, a pointer to the value in the map is returned. Otherwise nullptr is returned.
1208 * The pointer is only valid as long as the map isn't changed.
1209 */
1210 FORCEINLINE const ValueType* FindPair(KeyInitType Key, ValueInitType Value) const
1211 {
1212 return const_cast<TMultiMap*>(this)->FindPair(Key, Value);
1213 }
1214
1215 /**
1216 * Find an association between a specified key and value.
1217 *
1218 * @param Key The key to find.
1219 * @param Value The value to find.
1220 * @return If the map contains a matching association, a pointer to the value in the map is returned. Otherwise nullptr is returned.
1221 * The pointer is only valid as long as the map isn't changed.
1222 */
1223 ValueType* FindPair(KeyInitType Key, ValueInitType Value)
1224 {
1225 // Iterate over pairs with a matching key.
1226 for (typename Super::ElementSetType::TKeyIterator It(Super::Pairs, Key); It; ++It)
1227 {
1228 // If the pair's value matches, return a pointer to it.
1229 if (It->Value == Value)
1230 {
1231 return &It->Value;
1232 }
1233 }
1234
1235 return nullptr;
1236 }
1237
1238 /** Returns the number of values within this map associated with the specified key */
1239 int32 Num(KeyInitType Key) const
1240 {
1241 // Iterate over pairs with a matching key.
1243 for (typename Super::ElementSetType::TConstKeyIterator It(Super::Pairs, Key); It; ++It)
1244 {
1246 }
1247 return NumMatchingPairs;
1248 }
1249
1250 // Since we implement an overloaded Num() function in TMultiMap, we need to reimplement TMapBase::Num to make it visible.
1251 FORCEINLINE int32 Num() const
1252 {
1253 return Super::Num();
1254 }
1255};
1256
1257
1259{
1262
1264};
1265
1266
1267// Untyped map type for accessing TMap data, like FScriptArray for TArray.
1268// Must have the same memory representation as a TMap.
1270{
1271public:
1272 static FScriptMapLayout GetScriptLayout(int32 KeySize, int32 KeyAlignment, int32 ValueSize, int32 ValueAlignment)
1273 {
1274 FScriptMapLayout Result;
1275
1276 // TPair<Key, Value>
1277 FStructBuilder PairStruct;
1278 Result.KeyOffset = PairStruct.AddMember(KeySize, KeyAlignment);
1279 Result.ValueOffset = PairStruct.AddMember(ValueSize, ValueAlignment);
1281
1282 return Result;
1283 }
1284
1286 {
1287 }
1288
1289 bool IsValidIndex(int32 Index) const
1290 {
1291 return Pairs.IsValidIndex(Index);
1292 }
1293
1294 int32 Num() const
1295 {
1296 return Pairs.Num();
1297 }
1298
1299 int32 GetMaxIndex() const
1300 {
1301 return Pairs.GetMaxIndex();
1302 }
1303
1304 void* GetData(int32 Index, const FScriptMapLayout& Layout)
1305 {
1306 return Pairs.GetData(Index, Layout.SetLayout);
1307 }
1308
1309 const void* GetData(int32 Index, const FScriptMapLayout& Layout) const
1310 {
1311 return Pairs.GetData(Index, Layout.SetLayout);
1312 }
1313
1314 void Empty(int32 Slack, const FScriptMapLayout& Layout)
1315 {
1316 Pairs.Empty(Slack, Layout.SetLayout);
1317 }
1318
1319 void RemoveAt(int32 Index, const FScriptMapLayout& Layout)
1320 {
1321 Pairs.RemoveAt(Index, Layout.SetLayout);
1322 }
1323
1324 /**
1325 * Adds an uninitialized object to the map.
1326 * The map will need rehashing at some point after this call to make it valid.
1327 *
1328 * @return The index of the added element.
1329 */
1331 {
1333 }
1334
1335 void Rehash(const FScriptMapLayout& Layout, TFunctionRef<uint32(const void*)> GetKeyHash)
1336 {
1337 Pairs.Rehash(Layout.SetLayout, GetKeyHash);
1338 }
1339
1340 /** Finds the associated key, value from hash of Key, rather than linearly searching */
1341 int32 FindPairIndex(const void* Key, const FScriptMapLayout& MapLayout, TFunctionRef<uint32(const void*)> GetKeyHash, TFunctionRef<bool(const void*, const void*)> KeyEqualityFn)
1342 {
1343 if (Pairs.Num())
1344 {
1345 // !unsafe! 'Pairs' is mostly treated as a set of TPair<Key, Value>, so anything in
1346 // FScriptSet could assume that Key is actually a TPair<Key, Value>, we can hide this
1347 // complexity from our caller, at least (so their GetKeyHash/EqualityFn is unaware):
1348 return Pairs.FindIndex(
1349 Key,
1350 MapLayout.SetLayout,
1351 GetKeyHash, // We 'know' that the implementation of Find doesn't call GetKeyHash on anything except Key
1352 [KeyEqualityFn, MapLayout](const void* InKey, const void* InPair)
1353 {
1354 return KeyEqualityFn(InKey, (uint8*)InPair + MapLayout.KeyOffset);
1355 }
1356 );
1357 }
1358
1359 return INDEX_NONE;
1360 }
1361
1362 /** Finds the associated value from hash of Key, rather than linearly searching */
1363 uint8* FindValue(const void* Key, const FScriptMapLayout& MapLayout, TFunctionRef<uint32(const void*)> GetKeyHash, TFunctionRef<bool(const void*, const void*)> KeyEqualityFn)
1364 {
1365 int32 FoundIndex = FindPairIndex(Key, MapLayout, GetKeyHash, KeyEqualityFn);
1366 if (FoundIndex != INDEX_NONE)
1367 {
1368 uint8* Result = (uint8*)GetData(FoundIndex, MapLayout) + MapLayout.ValueOffset;
1369 return Result;
1370 }
1371
1372 return nullptr;
1373 }
1374
1375 /** Adds the (key, value) pair to the map, returning true if the element was added, or false if the element was already present and has been overwritten */
1376 void Add(
1377 const void* Key,
1378 const void* Value,
1379 const FScriptMapLayout& Layout,
1380 TFunctionRef<uint32(const void*)> GetKeyHash,
1381 TFunctionRef<bool(const void*, const void*)> KeyEqualityFn,
1382 TFunctionRef<void(void*)> KeyConstructAndAssignFn,
1383 TFunctionRef<void(void*)> ValueConstructAndAssignFn,
1384 TFunctionRef<void(void*)> ValueAssignFn,
1385 TFunctionRef<void(void*)> DestructKeyFn,
1386 TFunctionRef<void(void*)> DestructValueFn)
1387 {
1389 Key,
1390 Layout.SetLayout,
1391 GetKeyHash,
1392 KeyEqualityFn,
1393 [KeyConstructAndAssignFn, ValueConstructAndAssignFn, Layout](void* NewPair)
1394 {
1395 KeyConstructAndAssignFn((uint8*)NewPair + Layout.KeyOffset);
1396 ValueConstructAndAssignFn((uint8*)NewPair + Layout.ValueOffset);
1397 },
1398 [DestructKeyFn, DestructValueFn, Layout](void* NewPair)
1399 {
1400 DestructValueFn((uint8*)NewPair + Layout.ValueOffset);
1401 DestructKeyFn((uint8*)NewPair + Layout.KeyOffset);
1402 }
1403 );
1404 }
1405
1406private:
1408
1409 // This function isn't intended to be called, just to be compiled to validate the correctness of the type.
1410 static void CheckConstraints()
1411 {
1412 typedef FScriptMap ScriptType;
1413 typedef TMap<int32, int8> RealType;
1414
1415 // Check that the class footprint is the same
1416 static_assert(sizeof(ScriptType) == sizeof(RealType), "FScriptMap's size doesn't match TMap");
1417 static_assert(alignof(ScriptType) == alignof(RealType), "FScriptMap's alignment doesn't match TMap");
1418
1419 // Check member sizes
1420 static_assert(sizeof(DeclVal<ScriptType>().Pairs) == sizeof(DeclVal<RealType>().Pairs), "FScriptMap's Pairs member size does not match TMap's");
1421
1422 // Check member offsets
1423 static_assert(STRUCT_OFFSET(ScriptType, Pairs) == STRUCT_OFFSET(RealType, Pairs), "FScriptMap's Pairs member offset does not match TMap's");
1424 }
1425
1426public:
1427 // These should really be private, because they shouldn't be called, but there's a bunch of code
1428 // that needs to be fixed first.
1429 FScriptMap(const FScriptMap&) { check(false); }
1430 void operator=(const FScriptMap&) { check(false); }
1431};
1432
1433
1434template <>
1436{
1437 enum { Value = true };
1438};
1439
1440
1441template <typename KeyType, typename ValueType, typename SetAllocator, typename KeyFuncs>
1442struct TContainerTraits<TMap<KeyType, ValueType, SetAllocator, KeyFuncs>> : public TContainerTraitsBase<TMap<KeyType, ValueType, SetAllocator, KeyFuncs>>
1443{
1444 enum { MoveWillEmptyContainer = TContainerTraits<typename TMap<KeyType, ValueType, SetAllocator, KeyFuncs>::ElementSetType>::MoveWillEmptyContainer };
1445};
1446
1447
1448template <typename KeyType, typename ValueType, typename SetAllocator, typename KeyFuncs>
1449struct TContainerTraits<TMultiMap<KeyType, ValueType, SetAllocator, KeyFuncs>> : public TContainerTraitsBase<TMultiMap<KeyType, ValueType, SetAllocator, KeyFuncs>>
1450{
1451 enum { MoveWillEmptyContainer = TContainerTraits<typename TMultiMap<KeyType, ValueType, SetAllocator, KeyFuncs>::ElementSetType>::MoveWillEmptyContainer };
1452};
EBlueprintType
Definition Enums.h:3920
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 MS_ALIGN(n)
Definition BasicTypes.h:21
#define GCC_ALIGN(n)
Definition BasicTypes.h:22
#define PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS
Definition BasicTypes.h:11
#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
static FORCEINLINE int32 BYTESWAP_ORDER32(int32 val)
Definition ByteSwap.h:30
static FORCEINLINE uint16 BYTESWAP_ORDER16(uint16 val)
Definition ByteSwap.h:12
static FORCEINLINE void BYTESWAP_ORDER_TCHARARRAY(TCHAR *str)
Definition ByteSwap.h:72
static FORCEINLINE uint32 BYTESWAP_ORDER32(uint32 val)
Definition ByteSwap.h:25
#define BYTESWAP_ORDER16_unsigned(x)
Definition ByteSwap.h:8
static FORCEINLINE float BYTESWAP_ORDERF(float val)
Definition ByteSwap.h:38
static FORCEINLINE int16 BYTESWAP_ORDER16(int16 val)
Definition ByteSwap.h:17
static FORCEINLINE uint64 BYTESWAP_ORDER64(uint64 Value)
Definition ByteSwap.h:46
static FORCEINLINE int64 BYTESWAP_ORDER64(int64 Value)
Definition ByteSwap.h:58
#define BYTESWAP_ORDER32_unsigned(x)
Definition ByteSwap.h:9
TCString< ANSICHAR > FCStringAnsi
Definition CString.h:336
TCString< WIDECHAR > FCStringWide
Definition CString.h:337
TCString< TCHAR > FCString
Definition CString.h:335
TChar< WIDECHAR > FCharWide
Definition Char.h:143
#define LITERAL(CharType, StringLiteral)
Definition Char.h:30
TChar< ANSICHAR > FCharAnsi
Definition Char.h:144
TChar< TCHAR > FChar
Definition Char.h:142
static const float OneOver255
Definition Color.h:527
EGammaSpace
Definition Color.h:20
FORCEINLINE FLinearColor operator*(float Scalar, const FLinearColor &Color)
Definition Color.h:364
FORCEINLINE int32 DefaultCalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, SIZE_T BytesPerElement, bool bAllowQuantize, uint32 Alignment=DEFAULT_ALIGNMENT)
#define NumBitsPerDWORD
#define DEFAULT_MIN_NUMBER_OF_HASHED_ELEMENTS
#define DEFAULT_NUMBER_OF_ELEMENTS_PER_HASH_BUCKET
#define DEFAULT_BASE_NUMBER_OF_HASH_BUCKETS
FORCEINLINE int32 DefaultCalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, SIZE_T BytesPerElement, bool bAllowQuantize, uint32 Alignment=DEFAULT_ALIGNMENT)
FORCEINLINE int32 DefaultCalculateSlackReserve(int32 NumElements, SIZE_T BytesPerElement, bool bAllowQuantize, uint32 Alignment=DEFAULT_ALIGNMENT)
ClassCastFlags
Definition Enums.h:873
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
FORCEINLINE auto Invoke(ReturnType ObjType::*pdm, CallableType &&Callable) -> decltype(UE4Invoke_Private::DereferenceIfNecessary< ObjType >(Forward< CallableType >(Callable)).*pdm)
Definition Invoke.h:48
FORCEINLINE auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(Forward< FuncType >(Func)(Forward< ArgTypes >(Args)...))
Definition Invoke.h:41
FORCEINLINE auto Invoke(ReturnType(ObjType::*PtrMemFun)(PMFArgTypes...), CallableType &&Callable, ArgTypes &&... Args) -> decltype((UE4Invoke_Private::DereferenceIfNecessary< ObjType >(Forward< CallableType >(Callable)).*PtrMemFun)(Forward< ArgTypes >(Args)...))
Definition Invoke.h:55
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:149
FORCEINLINE TEnableIf< UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type RelocateConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
Definition MemoryOps.h:192
FORCEINLINE TEnableIf< TIsZeroConstructType< ElementType >::Value >::Type DefaultConstructItems(void *Elements, int32 Count)
Definition MemoryOps.h:56
FORCEINLINE TEnableIf<!TIsTriviallyCopyConstructible< ElementType >::Value >::Type MoveConstructItems(void *Dest, const ElementType *Source, int32 Count)
Definition MemoryOps.h:213
FORCEINLINE TEnableIf< TIsTriviallyCopyConstructible< ElementType >::Value >::Type MoveConstructItems(void *Dest, const ElementType *Source, int32 Count)
Definition MemoryOps.h:225
FORCEINLINE TEnableIf<!TIsZeroConstructType< ElementType >::Value >::Type DefaultConstructItems(void *Address, int32 Count)
Definition MemoryOps.h:43
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type DestructItem(ElementType *Element)
Definition MemoryOps.h:70
FORCEINLINE TEnableIf< TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type CompareItems(const ElementType *A, const ElementType *B, int32 Count)
Definition MemoryOps.h:256
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type MoveAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
Definition MemoryOps.h:250
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type DestructItem(ElementType *Element)
Definition MemoryOps.h:80
FORCEINLINE TEnableIf<!TIsTriviallyDestructible< ElementType >::Value >::Type DestructItems(ElementType *Element, int32 Count)
Definition MemoryOps.h:94
FORCEINLINE TEnableIf<!TIsTriviallyCopyAssignable< ElementType >::Value >::Type MoveAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
Definition MemoryOps.h:238
FORCEINLINE TEnableIf<!TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type CompareItems(const ElementType *A, const ElementType *B, int32 Count)
Definition MemoryOps.h:263
FORCEINLINE TEnableIf<!TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type ConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
Definition MemoryOps.h:122
FORCEINLINE TEnableIf<!UE4MemoryOps_Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type RelocateConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
Definition MemoryOps.h:177
FORCEINLINE TEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type DestructItems(ElementType *Elements, int32 Count)
Definition MemoryOps.h:109
FORCEINLINE TEnableIf< TIsTriviallyCopyAssignable< ElementType >::Value >::Type CopyAssignItems(ElementType *Dest, const ElementType *Source, int32 Count)
Definition MemoryOps.h:162
FORCEINLINE TEnableIf< TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type ConstructItems(void *Dest, const SourceElementType *Source, int32 Count)
Definition MemoryOps.h:135
FMicrosoftPlatformString FPlatformString
#define WIN32_LEAN_AND_MEAN
Definition Requests.cpp:2
FORCEINLINE FRotator operator*(float Scale, const FRotator &R)
Definition Rotator.h:363
FORCEINLINE SharedPointerInternals::FRawPtrProxy< ObjectType > MakeShareable(ObjectType *InObject, DeleterType &&InDeleter)
FORCEINLINE bool operator==(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE TSharedRef< InObjectType, InMode > MakeShared(InArgTypes &&... Args)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE TSharedPtr< CastToType, Mode > StaticCastSharedPtr(TSharedPtr< CastFromType, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, decltype(nullptr))
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE bool operator==(TSharedRef< ObjectTypeA, Mode > const &InSharedRef, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE bool operator==(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
FORCEINLINE void CleanupPointerMap(TMap< TWeakPtr< KeyType >, ValueType > &PointerMap)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
FORCEINLINE bool operator!=(TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr, TSharedRef< ObjectTypeA, Mode > const &InSharedRef)
FORCEINLINE void CleanupPointerArray(TArray< TWeakPtr< Type > > &PointerArray)
FORCEINLINE bool operator!=(TSharedRef< ObjectTypeA, Mode > const &InSharedRefA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
FORCEINLINE bool operator!=(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, decltype(nullptr))
FORCEINLINE TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
FORCEINLINE SharedPointerInternals::FRawPtrProxy< ObjectType > MakeShareable(ObjectType *InObject)
FORCEINLINE bool operator==(decltype(nullptr), TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtrB)
FORCEINLINE TSharedRef< CastToType, Mode > ConstCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
FORCEINLINE bool operator==(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(decltype(nullptr), TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE TSharedPtr< CastToType, Mode > ConstCastSharedPtr(TSharedPtr< CastFromType, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr, TSharedRef< ObjectTypeA, Mode > const &InSharedRef)
FORCEINLINE bool operator!=(TSharedPtr< ObjectTypeA, Mode > const &InSharedPtrA, TWeakPtr< ObjectTypeB, Mode > const &InWeakPtrB)
FORCEINLINE bool operator!=(TSharedRef< ObjectTypeA, Mode > const &InSharedRef, TSharedPtr< ObjectTypeB, Mode > const &InSharedPtr)
FORCEINLINE bool operator==(TWeakPtr< ObjectTypeA, Mode > const &InWeakPtrA, TSharedRef< ObjectTypeB, Mode > const &InSharedRefB)
void StableSort(T **First, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:385
void StableSort(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:371
void StableSortInternal(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:356
void Sort(T **First, const int32 Num)
Definition Sorting.h:117
void StableSort(T *First, const int32 Num)
Definition Sorting.h:400
void StableSort(T **First, const int32 Num)
Definition Sorting.h:413
void Merge(T *Out, T *In, const int32 Mid, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:134
void Sort(T **First, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:90
void Sort(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:76
void Sort(T *First, const int32 Num)
Definition Sorting.h:104
#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 IMPLEMENT_ALIGNED_STORAGE(Align)
int GetStructSize()
Definition UE.h:1024
EResourceSizeMode
Definition UE.h:798
@ Exclusive
Definition UE.h:799
@ Open
Definition UE.h:801
@ Inclusive
Definition UE.h:800
int GetObjectClassSize()
Definition UE.h:1005
FORCEINLINE uint32 GetTypeHash(const FName &name)
Definition UE.h:63
TWeakObjectPtr< T > GetWeakReference(T *object)
Definition UE.h:203
#define THRESH_VECTOR_NORMALIZED
#define THRESH_NORMALS_ARE_PARALLEL
#define THRESH_POINTS_ARE_SAME
#define DELTA
#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)
#define STRUCT_OFFSET(struc, member)
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 FVector2D operator*(float Scale, const FVector2D &V)
Definition Vector2D.h:467
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
static const FColor MediumSlateBlue
Definition ColorList.h:69
static const FColor Orange
Definition ColorList.h:81
static const FColor DarkGreenCopper
Definition ColorList.h:34
static const FColor BronzeII
Definition ColorList.h:26
static const FColor Yellow
Definition ColorList.h:17
static const FColor Magenta
Definition ColorList.h:15
static const FColor IndianRed
Definition ColorList.h:54
static const FColor SummerSky
Definition ColorList.h:100
static const FColor SpringGreen
Definition ColorList.h:98
static const FColor Grey
Definition ColorList.h:50
static const FColor CornFlowerBlue
Definition ColorList.h:31
static const FColor Cyan
Definition ColorList.h:16
static const FColor Blue
Definition ColorList.h:14
static const FColor GreenCopper
Definition ColorList.h:51
static const FColor MediumGoldenrod
Definition ColorList.h:66
static const FColor LimeGreen
Definition ColorList.h:60
static const FColor LightSteelBlue
Definition ColorList.h:58
static const FColor DarkOliveGreen
Definition ColorList.h:35
static const FColor Quartz
Definition ColorList.h:87
static const FColor SteelBlue
Definition ColorList.h:99
static const FColor DarkPurple
Definition ColorList.h:37
static const FColor Turquoise
Definition ColorList.h:103
static const FColor Black
Definition ColorList.h:18
static const FColor Maroon
Definition ColorList.h:62
static const FColor MediumOrchid
Definition ColorList.h:67
static const FColor NewTan
Definition ColorList.h:79
static const FColor NeonBlue
Definition ColorList.h:76
static const FColor MediumWood
Definition ColorList.h:73
static const FColor DarkSlateBlue
Definition ColorList.h:38
static const FColor White
Definition ColorList.h:11
static const FColor MandarianOrange
Definition ColorList.h:61
static const FColor Tan
Definition ColorList.h:101
static const FColor Scarlet
Definition ColorList.h:90
static const FColor SeaGreen
Definition ColorList.h:91
static const FColor Aquamarine
Definition ColorList.h:19
static const FColor Wheat
Definition ColorList.h:108
static const FColor VeryDarkBrown
Definition ColorList.h:104
static const FColor Thistle
Definition ColorList.h:102
static const FColor BlueViolet
Definition ColorList.h:21
static const FColor Violet
Definition ColorList.h:106
static const FColor MediumSpringGreen
Definition ColorList.h:70
static const FColor NavyBlue
Definition ColorList.h:75
static const FColor CoolCopper
Definition ColorList.h:28
static const FColor DarkTan
Definition ColorList.h:40
static const FColor Firebrick
Definition ColorList.h:46
static const FColor GreenYellow
Definition ColorList.h:52
static const FColor DarkOrchid
Definition ColorList.h:36
static const FColor Plum
Definition ColorList.h:86
static const FColor SemiSweetChocolate
Definition ColorList.h:92
static const FColor SpicyPink
Definition ColorList.h:97
static const FColor OldGold
Definition ColorList.h:80
static const FColor DarkTurquoise
Definition ColorList.h:41
static const FColor PaleGreen
Definition ColorList.h:84
static const FColor BrightGold
Definition ColorList.h:23
static const FColor CadetBlue
Definition ColorList.h:27
static const FColor BakerChocolate
Definition ColorList.h:20
static const FColor DarkGreen
Definition ColorList.h:33
static const FColor Coral
Definition ColorList.h:30
static const FColor OrangeRed
Definition ColorList.h:82
static const FColor HunterGreen
Definition ColorList.h:53
static const FColor VeryLightGrey
Definition ColorList.h:105
static const FColor MediumVioletRed
Definition ColorList.h:72
static const FColor Silver
Definition ColorList.h:94
static const FColor MediumSeaGreen
Definition ColorList.h:68
static const FColor DarkSlateGrey
Definition ColorList.h:39
static const FColor Khaki
Definition ColorList.h:55
static const FColor DustyRose
Definition ColorList.h:44
static const FColor Red
Definition ColorList.h:12
static const FColor Bronze
Definition ColorList.h:25
static const FColor MediumBlue
Definition ColorList.h:64
static const FColor Goldenrod
Definition ColorList.h:49
static const FColor Feldspar
Definition ColorList.h:45
static const FColor LightBlue
Definition ColorList.h:56
static const FColor Pink
Definition ColorList.h:85
static const FColor DimGrey
Definition ColorList.h:43
static const FColor Brown
Definition ColorList.h:24
static const FColor VioletRed
Definition ColorList.h:107
static const FColor Orchid
Definition ColorList.h:83
static const FColor LightWood
Definition ColorList.h:59
static const FColor SlateBlue
Definition ColorList.h:96
static const FColor DarkWood
Definition ColorList.h:42
static const FColor NeonPink
Definition ColorList.h:77
static const FColor MediumTurquoise
Definition ColorList.h:71
static const FColor MediumForestGreen
Definition ColorList.h:65
static const FColor Salmon
Definition ColorList.h:89
static const FColor Brass
Definition ColorList.h:22
static const FColor ForestGreen
Definition ColorList.h:47
static const FColor Sienna
Definition ColorList.h:93
static const FColor MediumAquamarine
Definition ColorList.h:63
static const FColor YellowGreen
Definition ColorList.h:109
static const FColor Green
Definition ColorList.h:13
static const FColor RichBlue
Definition ColorList.h:88
static const FColor MidnightBlue
Definition ColorList.h:74
static const FColor LightGrey
Definition ColorList.h:57
static const FColor SkyBlue
Definition ColorList.h:95
static const FColor NewMidnightBlue
Definition ColorList.h:78
static const FColor DarkBrown
Definition ColorList.h:32
static const FColor Gold
Definition ColorList.h:48
static const FColor Copper
Definition ColorList.h:29
void MoveToEmpty(ForElementType &Other)
int32 CalculateSlackGrow(int32 NumElements, int32 CurrentNumSlackElements, SIZE_T NumBytesPerElement) const
int32 CalculateSlack(int32 NumElements, int32 CurrentNumSlackElements, SIZE_T NumBytesPerElement) const
int32 CalculateSlackShrink(int32 NumElements, int32 CurrentNumSlackElements, SIZE_T NumBytesPerElement) const
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
ForElementType< FScriptContainerElement > ForAnyElementType
static int32 GCD(int32 A, int32 B)
Definition Sorting.h:171
FORCEINLINE FScriptContainerElement * GetAllocation() const
FORCEINLINE void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
ForAnyElementType & operator=(const ForAnyElementType &)
ForAnyElementType(const ForAnyElementType &)
FORCEINLINE int32 CalculateSlackReserve(int32 NumElements, int32 NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FORCEINLINE void MoveToEmpty(ForAnyElementType &Other)
FORCEINLINE ElementType * GetAllocation() const
FNoncopyable(const FNoncopyable &)
FNoncopyable & operator=(const FNoncopyable &)
int32 FindPairIndex(const void *Key, const FScriptMapLayout &MapLayout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> KeyEqualityFn)
Definition Map.h:1341
FScriptMap()
Definition Map.h:1285
FScriptSet Pairs
Definition Map.h:1407
FScriptMap(const FScriptMap &)
Definition Map.h:1429
void Empty(int32 Slack, const FScriptMapLayout &Layout)
Definition Map.h:1314
bool IsValidIndex(int32 Index) const
Definition Map.h:1289
uint8 * FindValue(const void *Key, const FScriptMapLayout &MapLayout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> KeyEqualityFn)
Definition Map.h:1363
int32 AddUninitialized(const FScriptMapLayout &Layout)
Definition Map.h:1330
const void * GetData(int32 Index, const FScriptMapLayout &Layout) const
Definition Map.h:1309
void * GetData(int32 Index, const FScriptMapLayout &Layout)
Definition Map.h:1304
void Add(const void *Key, const void *Value, const FScriptMapLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> KeyEqualityFn, TFunctionRef< void(void *)> KeyConstructAndAssignFn, TFunctionRef< void(void *)> ValueConstructAndAssignFn, TFunctionRef< void(void *)> ValueAssignFn, TFunctionRef< void(void *)> DestructKeyFn, TFunctionRef< void(void *)> DestructValueFn)
Definition Map.h:1376
void operator=(const FScriptMap &)
Definition Map.h:1430
static FScriptMapLayout GetScriptLayout(int32 KeySize, int32 KeyAlignment, int32 ValueSize, int32 ValueAlignment)
Definition Map.h:1272
int32 GetMaxIndex() const
Definition Map.h:1299
void Rehash(const FScriptMapLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash)
Definition Map.h:1335
int32 Num() const
Definition Map.h:1294
void RemoveAt(int32 Index, const FScriptMapLayout &Layout)
Definition Map.h:1319
static void CheckConstraints()
Definition Map.h:1410
void Add(const void *Element, const FScriptSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn, TFunctionRef< void(void *)> ConstructFn, TFunctionRef< void(void *)> DestructFn)
Definition Set.h:1385
int32 Num() const
Definition Set.h:1246
void * GetData(int32 Index, const FScriptSetLayout &Layout)
Definition Set.h:1256
void RemoveAt(int32 Index, const FScriptSetLayout &Layout)
Definition Set.h:1289
int32 FindIndex(const void *Element, const FScriptSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash, TFunctionRef< bool(const void *, const void *)> EqualityFn)
Definition Set.h:1362
void Rehash(const FScriptSetLayout &Layout, TFunctionRef< uint32(const void *)> GetKeyHash)
Definition Set.h:1319
static FScriptSetLayout GetScriptLayout(int32 ElementSize, int32 ElementAlignment)
Definition Set.h:1221
int32 AddUninitialized(const FScriptSetLayout &Layout)
Definition Set.h:1313
void Empty(int32 Slack, const FScriptSetLayout &Layout)
Definition Set.h:1266
int32 GetMaxIndex() const
Definition Set.h:1251
const void * GetData(int32 Index, const FScriptSetLayout &Layout) const
Definition Set.h:1261
bool IsValidIndex(int32 Index) const
Definition Set.h:1241
friend class TSet
Definition Set.h:91
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
int32 GetAlignment() const
int32 AddMember(int32 MemberSize, int32 MemberAlignment)
int32 GetSize() const
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
FORCEINLINE int32 CalculateSlackReserve(int32 NumElements, int32 NumBytesPerElement) const
ForAnyElementType(const ForAnyElementType &)
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FORCEINLINE void MoveToEmpty(ForAnyElementType &Other)
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
FORCEINLINE FScriptContainerElement * GetAllocation() const
ForAnyElementType & operator=(const ForAnyElementType &)
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FORCEINLINE ElementType * GetAllocation() const
~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 TEnumAsByte(TEnum InValue)
Definition EnumAsByte.h:40
TEnum GetValue() const
Definition EnumAsByte.h:122
FORCEINLINE TEnumAsByte(int32 InValue)
Definition EnumAsByte.h:49
FORCEINLINE TEnumAsByte & operator=(TEnum InValue)
Definition EnumAsByte.h:81
FORCEINLINE TEnumAsByte(const TEnumAsByte &InValue)
Definition EnumAsByte.h:31
FORCEINLINE TEnumAsByte(uint8 InValue)
Definition EnumAsByte.h:58
TEnum EnumType
Definition EnumAsByte.h:21
bool operator==(TEnum InValue) const
Definition EnumAsByte.h:93
operator TEnum() const
Definition EnumAsByte.h:110
FORCEINLINE TEnumAsByte()
Definition EnumAsByte.h:24
TEnumAsByte_EnumClass< TIsEnumClass< TEnum >::Value > Check
Definition EnumAsByte.h:18
FORCEINLINE TEnumAsByte & operator=(TEnumAsByte InValue)
Definition EnumAsByte.h:70
FORCEINLINE friend uint32 GetTypeHash(const TEnumAsByte &Enum)
Definition EnumAsByte.h:133
bool operator==(TEnumAsByte InValue) const
Definition EnumAsByte.h:104
ForElementType & operator=(const ForElementType &)
TTypeCompatibleBytes< ElementType > InlineData[NumInlineElements]
FORCEINLINE ElementType * GetAllocation() const
FORCEINLINE void MoveToEmpty(ForElementType &Other)
FORCEINLINE int32 CalculateSlackReserve(int32 NumElements, SIZE_T NumBytesPerElement) const
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
ForElementType(const ForElementType &)
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
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 int32 CalculateSlackReserve(int32 NumElements, SIZE_T NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackShrink(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
FORCEINLINE ElementType * GetAllocation() const
TTypeCompatibleBytes< ElementType > InlineData[NumInlineElements]
ForElementType(const ForElementType &)
FORCEINLINE void MoveToEmpty(ForElementType &Other)
void ResizeAllocation(int32 PreviousNumElements, int32 NumElements, SIZE_T NumBytesPerElement)
ForElementType & operator=(const ForElementType &)
SIZE_T GetAllocatedSize(int32 NumAllocatedElements, SIZE_T NumBytesPerElement) const
FORCEINLINE int32 CalculateSlackGrow(int32 NumElements, int32 NumAllocatedElements, int32 NumBytesPerElement) const
SecondaryAllocator::template ForElementType< ElementType > SecondaryData
TInlineSparseArrayAllocator< NumInlineElements, typename SecondaryAllocator::SparseArrayAllocator > SparseArrayAllocator
static FORCEINLINE uint32 GetNumberOfHashBuckets(uint32 NumHashedElements)
TInlineAllocator< NumInlineHashBuckets, typename SecondaryAllocator::HashAllocator > HashAllocator
TInlineAllocator< NumInlineElements, typename SecondaryAllocator::ElementAllocator > ElementAllocator
TInlineAllocator< InlineBitArrayDWORDs, typename SecondaryAllocator::BitArrayAllocator > BitArrayAllocator
static void Rotate(T *First, const int32 From, const int32 To, const int32 Amount)
Definition Sorting.h:202
TRValueToLValueReference< KeyInitType >::Type Key
Definition Map.h:57
FORCEINLINE TKeyInitializer(KeyInitType InKey)
Definition Map.h:60
operator TPair< KeyType, ValueType >() const
Definition Map.h:65
TChooseClass< bConst, constKeyType, KeyType >::Result ItKeyType
Definition Map.h:540
TChooseClass< bConst, constTMapBase, TMapBase >::Result MapType
Definition Map.h:539
FORCEINLINE friend bool operator==(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
Definition Map.h:567
FORCEINLINE TBaseIterator(const PairItType &InElementIt)
Definition Map.h:545
FORCEINLINE bool operator!() const
Definition Map.h:562
FORCEINLINE ItKeyType & Key() const
Definition Map.h:570
FORCEINLINE PairType & operator*() const
Definition Map.h:573
PairItType PairIt
Definition Map.h:577
FORCEINLINE friend bool operator!=(const TBaseIterator &Lhs, const TBaseIterator &Rhs)
Definition Map.h:568
FORCEINLINE TBaseIterator & operator++()
Definition Map.h:550
FORCEINLINE ItValueType & Value() const
Definition Map.h:571
TChooseClass< bConst, typenameTChooseClass< bRangedFor, typenameElementSetType::TRangedForConstIterator, typenameElementSetType::TConstIterator >::Result, typenameTChooseClass< bRangedFor, typenameElementSetType::TRangedForIterator, typenameElementSetType::TIterator >::Result >::Result PairItType
Definition Map.h:537
FORCEINLINE PairType * operator->() const
Definition Map.h:574
FORCEINLINE operator bool() const
Definition Map.h:557
TChooseClass< bConst, constValueType, ValueType >::Result ItValueType
Definition Map.h:541
TChooseClass< bConst, consttypenameElementSetType::ElementType, typenameElementSetType::ElementType >::Result PairType
Definition Map.h:542
TChooseClass< bConst, constValueType, ValueType >::Result ItValueType
Definition Map.h:587
FORCEINLINE TBaseKeyIterator(const SetItType &InSetIt)
Definition Map.h:591
FORCEINLINE operator bool() const
Definition Map.h:603
TChooseClass< bConst, constKeyType, KeyType >::Result ItKeyType
Definition Map.h:586
FORCEINLINE ItKeyType & Key() const
Definition Map.h:613
FORCEINLINE bool operator!() const
Definition Map.h:608
FORCEINLINE ItValueType & Value() const
Definition Map.h:614
FORCEINLINE TBaseKeyIterator & operator++()
Definition Map.h:596
TChooseClass< bConst, typenameElementSetType::TConstKeyIterator, typenameElementSetType::TKeyIterator >::Result SetItType
Definition Map.h:585
FORCEINLINE TConstIterator(const TMapBase &InMap)
Definition Map.h:665
FORCEINLINE TConstKeyIterator(const TMapBase &InMap, KeyInitType InKey)
Definition Map.h:678
FORCEINLINE ~TIterator()
Definition Map.h:640
TMapBase & Map
Definition Map.h:656
bool bRequiresRehashOnRemoval
Definition Map.h:658
bool bElementsHaveBeenRemoved
Definition Map.h:657
FORCEINLINE void RemoveCurrent()
Definition Map.h:649
FORCEINLINE TIterator(TMapBase &InMap, bool bInRequiresRehashOnRemoval=false)
Definition Map.h:631
FORCEINLINE void RemoveCurrent()
Definition Map.h:692
FORCEINLINE TKeyIterator(TMapBase &InMap, KeyInitType InKey)
Definition Map.h:687
FORCEINLINE ValueType & FindOrAddImpl(ArgType &&Arg)
Definition Map.h:403
FORCEINLINE friend TRangedForIterator end(TMapBase &MapBase)
Definition Map.h:729
FORCEINLINE bool Contains(KeyConstPointerType Key) const
Definition Map.h:492
TSet< ElementType, KeyFuncs, SetAllocator > ElementSetType
Definition Map.h:526
const KeyType * FindKey(ValueInitType Value) const
Definition Map.h:360
FORCEINLINE ValueType * Find(KeyConstPointerType Key)
Definition Map.h:379
FORCEINLINE ValueType & Add(KeyType &&InKey, ValueType &&InValue)
Definition Map.h:299
ElementSetType Pairs
Definition Map.h:621
void GenerateValueArray(TArray< ValueType, Allocator > &OutArray) const
Definition Map.h:516
FORCEINLINE ValueType FindRef(KeyConstPointerType Key) const
Definition Map.h:476
void GenerateKeyArray(TArray< KeyType, Allocator > &OutArray) const
Definition Map.h:502
FORCEINLINE const ValueType * Find(KeyConstPointerType Key) const
Definition Map.h:388
FORCEINLINE ValueType & Add(const KeyType &InKey)
Definition Map.h:307
friend bool LegacyCompareEqual(const TMapBase &A, const TMapBase &B)
Definition Map.h:166
FORCEINLINE TIterator CreateIterator()
Definition Map.h:699
FORCEINLINE friend TRangedForConstIterator end(const TMapBase &MapBase)
Definition Map.h:730
FORCEINLINE void Shrink()
Definition Map.h:229
FORCEINLINE void Empty(int32 ExpectedNumElements=0)
Definition Map.h:217
FORCEINLINE void Reserve(int32 Number)
Definition Map.h:247
TMapBase & operator=(const TMapBase &)=default
FORCEINLINE TConstKeyIterator CreateConstKeyIterator(KeyInitType InKey) const
Definition Map.h:717
TMapBase(const TMapBase &)=default
TMapBase(TMapBase &&)=default
TTypeTraits< KeyType >::ConstInitType KeyInitType
Definition Map.h:112
FORCEINLINE ValueType & FindOrAdd(KeyType &&Key)
Definition Map.h:421
FORCEINLINE TConstIterator CreateConstIterator() const
Definition Map.h:705
FORCEINLINE int32 Remove(KeyConstPointerType InKey)
Definition Map.h:344
TTypeTraits< ValueType >::ConstInitType ValueInitType
Definition Map.h:113
FORCEINLINE ValueType & Add(KeyType &&InKey)
Definition Map.h:308
TTypeTraits< KeyType >::ConstPointerType KeyConstPointerType
Definition Map.h:111
TMapBase & operator=(const TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:158
FORCEINLINE TKeyIterator CreateKeyIterator(KeyInitType InKey)
Definition Map.h:711
ValueType & Emplace(InitKeyType &&InKey)
Definition Map.h:331
int32 GetKeys(TArray< KeyType, Allocator > &OutKeys) const
Definition Map.h:264
TMapBase & operator=(TMapBase &&)=default
TMapBase(TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:138
FORCEINLINE ValueType & Add(KeyType &&InKey, const ValueType &InValue)
Definition Map.h:298
FORCEINLINE friend TRangedForIterator begin(TMapBase &MapBase)
Definition Map.h:727
bool OrderIndependentCompareEqual(const TMapBase &Other) const
Definition Map.h:183
FORCEINLINE const ValueType & FindChecked(KeyConstPointerType Key) const
Definition Map.h:450
FORCEINLINE int32 Num() const
Definition Map.h:253
FORCEINLINE void CompactStable()
Definition Map.h:241
FORCEINLINE ValueType & Add(const KeyType &InKey, const ValueType &InValue)
Definition Map.h:296
FORCEINLINE friend TRangedForConstIterator begin(const TMapBase &MapBase)
Definition Map.h:728
TMapBase()=default
FORCEINLINE void Compact()
Definition Map.h:235
FORCEINLINE ValueType & FindOrAdd(const KeyType &Key)
Definition Map.h:420
TPair< KeyType, ValueType > ElementType
Definition Map.h:114
FORCEINLINE ValueType & FindChecked(KeyConstPointerType Key)
Definition Map.h:463
FORCEINLINE ValueType & Add(const KeyType &InKey, ValueType &&InValue)
Definition Map.h:297
ValueType & Emplace(InitKeyType &&InKey, InitValueType &&InValue)
Definition Map.h:317
TMapBase(const TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:144
FORCEINLINE uint32 GetAllocatedSize() const
Definition Map.h:284
TMapBase & operator=(TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:150
friend bool LegacyCompareNotEqual(const TMapBase &A, const TMapBase &B)
Definition Map.h:170
FORCEINLINE void Reset()
Definition Map.h:223
Definition Map.h:856
FORCEINLINE ValueType & operator[](KeyConstPointerType Key)
Definition Map.h:985
FORCEINLINE bool RemoveAndCopyValue(KeyInitType Key, ValueType &OutRemovedValue)
Definition Map.h:923
FORCEINLINE const ValueType & operator[](KeyConstPointerType Key) const
Definition Map.h:986
TMap(const TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:894
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > Super
Definition Map.h:863
FORCEINLINE ValueType FindAndRemoveChecked(KeyConstPointerType Key)
Definition Map.h:942
void Append(const TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &OtherMap)
Definition Map.h:976
TMap & operator=(const TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:909
void Append(TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&OtherMap)
Definition Map.h:958
TMap()=default
TMap & operator=(const TMap &)=default
TMap(TMap &&)=default
TMap & operator=(TMap &&)=default
TMap & operator=(TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:901
TMap(const TMap &)=default
TMap(TMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:887
Super::KeyInitType KeyInitType
Definition Map.h:864
Super::KeyConstPointerType KeyConstPointerType
Definition Map.h:865
static void Sort(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:286
Super::KeyInitType KeyInitType
Definition Map.h:1001
TMultiMap(TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:1024
Super::ValueInitType ValueInitType
Definition Map.h:1002
Super::KeyConstPointerType KeyConstPointerType
Definition Map.h:1000
int32 Num(KeyInitType Key) const
Definition Map.h:1239
void MultiFindPointer(KeyInitType Key, TArray< const ValueType *, Allocator > &OutValues, bool bMaintainOrder=false) const
Definition Map.h:1080
int32 RemoveSingle(KeyInitType InKey, ValueInitType InValue)
Definition Map.h:1183
TMultiMap & operator=(TMultiMap &&)=default
void MultiFindPointer(KeyInitType Key, TArray< ValueType *, Allocator > &OutValues, bool bMaintainOrder=false)
Definition Map.h:1092
ValueType * FindPair(KeyInitType Key, ValueInitType Value)
Definition Map.h:1223
TMultiMap(const TMultiMap &)=default
FORCEINLINE ValueType & AddUnique(KeyType &&InKey, ValueType &&InValue)
Definition Map.h:1117
TMultiMap & operator=(TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:1038
TMultiMap(const TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:1031
FORCEINLINE int32 Num() const
Definition Map.h:1251
int32 Remove(KeyInitType InKey, ValueInitType InValue)
Definition Map.h:1160
TMultiMap & operator=(const TMultiMap &)=default
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > Super
Definition Map.h:999
FORCEINLINE const ValueType * FindPair(KeyInitType Key, ValueInitType Value) const
Definition Map.h:1210
TMultiMap & operator=(const TMultiMap< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:1046
void MultiFind(KeyInitType Key, TArray< ValueType, Allocator > &OutValues, bool bMaintainOrder=false) const
Definition Map.h:1059
FORCEINLINE ValueType & AddUnique(const KeyType &InKey, const ValueType &InValue)
Definition Map.h:1114
FORCEINLINE int32 Remove(KeyConstPointerType InKey)
Definition Map.h:1148
FORCEINLINE ValueType & AddUnique(KeyType &&InKey, const ValueType &InValue)
Definition Map.h:1116
TMultiMap()=default
ValueType & EmplaceUnique(InitKeyType &&InKey, InitValueType &&InValue)
Definition Map.h:1131
FORCEINLINE ValueType & AddUnique(const KeyType &InKey, ValueType &&InValue)
Definition Map.h:1115
TMultiMap(TMultiMap &&)=default
FORCEINLINE TPairInitializer(KeyInitType InKey, ValueInitType InValue)
Definition Map.h:30
operator TPair< KeyType, ValueType >() const
Definition Map.h:45
TRValueToLValueReference< ValueInitType >::Type Value
Definition Map.h:27
TRValueToLValueReference< KeyInitType >::Type Key
Definition Map.h:26
FORCEINLINE TPairInitializer(const TPair< KeyType, ValueType > &Pair)
Definition Map.h:38
FORCEINLINE bool operator()(T &&A, T &&B) const
TReversePredicate(const PredicateType &InPredicate)
const PredicateType & Predicate
static void Merge(T *First, const int32 Mid, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:245
static FORCEINLINE uint32 GetNumberOfHashBuckets(uint32 NumHashedElements)
InSparseArrayAllocator SparseArrayAllocator
FORCEINLINE void UpdateWeakReferenceInternal(TSharedRef< SharedRefType, Mode > const *InSharedRef, OtherType *InObject) const
TSharedRef< ObjectType, Mode > AsShared()
FORCEINLINE TSharedFromThis & operator=(TSharedFromThis const &)
static FORCEINLINE TSharedRef< OtherType const, Mode > SharedThis(const OtherType *ThisPtr)
static FORCEINLINE TSharedRef< OtherType, Mode > SharedThis(OtherType *ThisPtr)
TWeakPtr< ObjectType, Mode > WeakThis
TSharedFromThis(TSharedFromThis const &)
FORCEINLINE void UpdateWeakReferenceInternal(TSharedPtr< SharedPtrType, Mode > const *InSharedPtr, OtherType *InObject) const
TSharedRef< ObjectType const, Mode > AsShared() const
FORCEINLINE bool DoesSharedInstanceExist() const
FORCEINLINE const int32 GetSharedReferenceCount() const
FORCEINLINE ObjectType * operator->() const
FORCEINLINE TSharedPtr(OtherType *InObject, DeleterType &&InDeleter)
SharedPointerInternals::FSharedReferencer< Mode > SharedReferenceCount
FORCEINLINE FMakeReferenceTo< ObjectType >::Type operator*() const
FORCEINLINE TSharedPtr(OtherType *InObject)
FORCEINLINE TSharedPtr(SharedPointerInternals::FNullTag *=nullptr)
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr)
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr, SharedPointerInternals::FStaticCastTag)
FORCEINLINE TSharedPtr & operator=(SharedPointerInternals::FNullTag *)
FORCEINLINE const bool IsValid() const
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > &&OtherSharedPtr, ObjectType *InObject)
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &OtherSharedPtr, ObjectType *InObject)
friend uint32 GetTypeHash(const TSharedPtr< ObjectType, Mode > &InSharedPtr)
FORCEINLINE const bool IsUnique() const
FORCEINLINE TSharedPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr, SharedPointerInternals::FConstCastTag)
FORCEINLINE TSharedPtr(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE void Reset()
FORCEINLINE TSharedPtr & operator=(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE TSharedPtr & operator=(TSharedPtr &&InSharedPtr)
FORCEINLINE TSharedPtr(TSharedPtr &&InSharedPtr)
FORCEINLINE TSharedRef< ObjectType, Mode > ToSharedRef() const
FORCEINLINE TSharedPtr(TSharedRef< OtherType, Mode > const &OtherSharedRef, ObjectType *InObject)
FORCEINLINE TSharedPtr(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE TSharedPtr(TSharedPtr const &InSharedPtr)
ObjectType * Object
FORCEINLINE ObjectType * Get() const
FORCEINLINE TSharedPtr & operator=(TSharedPtr const &InSharedPtr)
FORCEINLINE TSharedPtr(TWeakPtr< OtherType, Mode > const &InWeakPtr)
FORCEINLINE TSharedRef & operator=(TSharedRef &&InSharedRef)
FORCEINLINE TSharedRef(TSharedPtr< OtherType, Mode > &&InSharedPtr)
FORCEINLINE ObjectType & Get() const
void Init(OtherType *InObject)
FORCEINLINE ObjectType * operator->() const
FORCEINLINE const bool IsValid() const
FORCEINLINE TSharedRef(TSharedRef &&InSharedRef)
FORCEINLINE TSharedRef & operator=(TSharedRef const &InSharedRef)
FORCEINLINE TSharedRef(OtherType *InObject, DeleterType &&InDeleter)
FORCEINLINE TSharedRef(TSharedPtr< OtherType, Mode > const &InSharedPtr)
FORCEINLINE const bool IsUnique() const
FORCEINLINE TSharedRef(TSharedRef const &InSharedRef)
FORCEINLINE ObjectType & operator*() const
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &InSharedRef, SharedPointerInternals::FConstCastTag)
FORCEINLINE TSharedRef(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE const int32 GetSharedReferenceCount() const
FORCEINLINE TSharedRef(OtherType *InObject)
SharedPointerInternals::FSharedReferencer< Mode > SharedReferenceCount
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &OtherSharedRef, ObjectType *InObject)
friend uint32 GetTypeHash(const TSharedRef< ObjectType, Mode > &InSharedRef)
ObjectType * Object
FORCEINLINE TSharedRef & operator=(SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy)
FORCEINLINE TSharedRef(TSharedRef< OtherType, Mode > const &InSharedRef, SharedPointerInternals::FStaticCastTag)
FORCEINLINE TSharedRef(ObjectType *InObject, SharedPointerInternals::FReferenceControllerBase *InSharedReferenceCount)
TDereferenceWrapper< KeyType, PREDICATE_CLASS > Predicate
Definition Map.h:818
FORCEINLINE FKeyComparisonClass(const PREDICATE_CLASS &InPredicate)
Definition Map.h:822
FORCEINLINE bool operator()(const typename Super::ElementType &A, const typename Super::ElementType &B) const
Definition Map.h:826
FORCEINLINE FValueComparisonClass(const PREDICATE_CLASS &InPredicate)
Definition Map.h:840
TDereferenceWrapper< ValueType, PREDICATE_CLASS > Predicate
Definition Map.h:836
FORCEINLINE bool operator()(const typename Super::ElementType &A, const typename Super::ElementType &B) const
Definition Map.h:844
TSortableMapBase & operator=(TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:777
TSortableMapBase & operator=(TSortableMapBase &&)=default
FORCEINLINE void ValueSort(const PREDICATE_CLASS &Predicate)
Definition Map.h:807
TSortableMapBase(TSortableMapBase &&)=default
TSortableMapBase(const TSortableMapBase &)=default
TSortableMapBase(TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
Definition Map.h:763
TSortableMapBase()=default
TSortableMapBase & operator=(const TSortableMapBase &)=default
FORCEINLINE void KeySort(const PREDICATE_CLASS &Predicate)
Definition Map.h:797
TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > Super
Definition Map.h:741
TSortableMapBase & operator=(const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:785
TSortableMapBase(const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
Definition Map.h:770
ObjectType * Object
friend uint32 GetTypeHash(const TWeakPtr< ObjectType, Mode > &InWeakPtr)
FORCEINLINE TSharedPtr< ObjectType, Mode > Pin() const
FORCEINLINE const bool IsValid() const
SharedPointerInternals::FWeakReferencer< Mode > WeakReferenceCount
FORCEINLINE TWeakPtr & operator=(TWeakPtr< OtherType, Mode > const &InWeakPtr)
FORCEINLINE void Reset()
FORCEINLINE TWeakPtr(TWeakPtr< OtherType, Mode > const &InWeakPtr)
FORCEINLINE TWeakPtr(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE TWeakPtr & operator=(TWeakPtr< OtherType, Mode > &&InWeakPtr)
FORCEINLINE TWeakPtr & operator=(TSharedRef< OtherType, Mode > const &InSharedRef)
FORCEINLINE TWeakPtr(TWeakPtr< OtherType, Mode > &&InWeakPtr)
FORCEINLINE TWeakPtr & operator=(TWeakPtr &&InWeakPtr)
FORCEINLINE TWeakPtr(TWeakPtr &&InWeakPtr)
FORCEINLINE TWeakPtr & operator=(TSharedPtr< OtherType, Mode > const &InSharedPtr)
FORCEINLINE TWeakPtr(TWeakPtr const &InWeakPtr)
FORCEINLINE bool HasSameObject(const void *InOtherPtr) const
FORCEINLINE TWeakPtr(SharedPointerInternals::FNullTag *=nullptr)
FORCEINLINE TWeakPtr & operator=(TWeakPtr const &InWeakPtr)
FORCEINLINE TWeakPtr & operator=(SharedPointerInternals::FNullTag *)
FORCEINLINE TWeakPtr(TSharedPtr< OtherType, Mode > const &InSharedPtr)
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
Definition Reverse.h:20
FORCEINLINE void Sort(RangeType &Range)
Definition Sort.h:16
FORCEINLINE int32 LowerBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE int32 LowerBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection)
FORCEINLINE void SortBy(RangeType &Range, ProjectionType Proj)
Definition Sort.h:40
FORCEINLINE int32 UpperBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection)
FORCEINLINE int32 UpperBound(RangeType &Range, const ValueType &Value)
FORCEINLINE void Sort(RangeType &Range, PredicateType Pred)
Definition Sort.h:28
FORCEINLINE void IntroSort(RangeType &Range)
Definition IntroSort.h:137
FORCEINLINE int32 BinarySearchBy(RangeType &Range, const ValueType &Value, ProjectionType Projection)
FORCEINLINE void IntroSortBy(RangeType &Range, ProjectionType Projection, PredicateType Predicate)
Definition IntroSort.h:174
FORCEINLINE void IntroSort(RangeType &Range, PredicateType Predicate)
Definition IntroSort.h:149
FORCEINLINE int32 BinarySearchBy(RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE int32 UpperBoundBy(RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE void IntroSortBy(RangeType &Range, ProjectionType Projection)
Definition IntroSort.h:161
FORCEINLINE int32 BinarySearch(RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate)
FORCEINLINE int32 BinarySearch(RangeType &Range, const ValueType &Value)
FORCEINLINE int32 UpperBound(RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate)
FORCEINLINE void SortBy(RangeType &Range, ProjectionType Proj, PredicateType Pred)
Definition Sort.h:53
FORCEINLINE int32 LowerBound(RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate)
FORCEINLINE int32 LowerBound(RangeType &Range, const ValueType &Value)
FORCEINLINE bool HeapIsLeaf(int32 Index, int32 Count)
Definition BinaryHeap.h:27
FORCEINLINE int32 HeapGetParentIndex(int32 Index)
Definition BinaryHeap.h:38
void IntroSortInternal(T *First, SIZE_T Num, ProjectionType Projection, PredicateType Predicate)
Definition IntroSort.h:26
FORCEINLINE int32 HeapGetLeftChildIndex(int32 Index)
Definition BinaryHeap.h:16
FORCEINLINE int32 HeapSiftUp(RangeValueType *Heap, int32 RootIndex, int32 NodeIndex, const ProjectionType &Projection, const PredicateType &Predicate)
Definition BinaryHeap.h:88
FORCEINLINE void HeapSiftDown(RangeValueType *Heap, int32 Index, const int32 Count, const ProjectionType &Projection, const PredicateType &Predicate)
Definition BinaryHeap.h:53
FORCEINLINE void HeapifyInternal(RangeValueType *First, SIZE_T Num, ProjectionType Projection, PredicateType Predicate)
Definition BinaryHeap.h:115
FORCEINLINE SIZE_T UpperBoundInternal(RangeValueType *First, const SIZE_T Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
FORCEINLINE SIZE_T LowerBoundInternal(RangeValueType *First, const SIZE_T Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
void HeapSortInternal(RangeValueType *First, SIZE_T Num, ProjectionType Projection, PredicateType Predicate)
Definition BinaryHeap.h:132
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
FORCEINLINE auto DereferenceIfNecessary(CallableType &&Callable) -> typename TEnableIf< TPointerIsConvertibleFromTo< typename TDecay< CallableType >::Type, typename TDecay< BaseType >::Type >::Value, decltype((CallableType &&) Callable)>::Type
Definition Invoke.h:13
FORCEINLINE TSharedRef< ObjectType, Mode > MakeSharedRef(ObjectType *InObject, SharedPointerInternals::FReferenceControllerBase *InSharedReferenceCount)
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
FName PackageName
Definition UE.h:710
bool IsUAsset()
Definition UE.h:720
UObject * GetAsset()
Definition UE.h:722
char unk[80]
Definition UE.h:715
FName AssetName
Definition UE.h:713
FName GroupNames
Definition UE.h:712
FName PackagePath
Definition UE.h:711
FName ObjectPath
Definition UE.h:709
TArray< int > ChunkIDs
Definition UE.h:716
void PrintAssetData()
Definition UE.h:721
FName AssetClass
Definition UE.h:714
void PrioritizeAssetInstall(FAssetData *AssetData)
Definition UE.h:774
EAssetAvailability::Type GetAssetAvailability(FAssetData *AssetData)
Definition UE.h:771
bool GetDependencies(FName PackageName, TArray< FName > *OutDependencies)
Definition UE.h:766
bool IsLoadingAssets()
Definition UE.h:782
float GetAssetAvailabilityProgress(FAssetData *AssetData, EAssetAvailabilityProgressReportingType::Type ReportType)
Definition UE.h:772
bool GetAssetsByPackageName(FName PackageName, TArray< FAssetData > *OutAssetData)
Definition UE.h:759
void AssetRenamed(UObject *RenamedAsset, FString *OldObjectPath)
Definition UE.h:781
void GetSubPaths(FString *InBasePath, TArray< FString > *OutPathList, bool bInRecurse)
Definition UE.h:770
void AddAssetData(FAssetData *AssetData)
Definition UE.h:790
void PrioritizeSearchPath(FString *PathToPrioritize)
Definition UE.h:778
bool GetAssetsByClass(FName ClassName, TArray< FAssetData > *OutAssetData, bool bSearchSubClasses)
Definition UE.h:761
bool GetAllAssets(TArray< FAssetData > *OutAssetData)
Definition UE.h:765
void SearchAllAssets(bool bSynchronousSearch)
Definition UE.h:758
void ScanPathsSynchronous_Internal(TArray< FString > *InPaths, bool bForceRescan, bool bUseCache)
Definition UE.h:785
void OnContentPathMounted(FString *InAssetPath, FString *FileSystemPath)
Definition UE.h:792
bool RemoveAssetData(FAssetData *AssetData)
Definition UE.h:791
FAssetData * GetAssetByObjectPath(FAssetData *result, FName ObjectPath)
Definition UE.h:764
void AssetDeleted(UObject *DeletedAsset)
Definition UE.h:780
void PathDataGathered(const long double TickStartTime, TArray< FString > *PathResults)
Definition UE.h:786
bool RemoveAssetPath(FString *PathToRemove, bool bEvenIfAssetsStillExist)
Definition UE.h:788
void GetAllCachedPaths(TArray< FString > *OutPathList)
Definition UE.h:769
FString * ExportTextPathToObjectName(FString *result, FString *InExportTextPath)
Definition UE.h:789
bool GetAncestorClassNames(FName ClassName, TArray< FName > *OutAncestorClassNames)
Definition UE.h:768
bool GetReferencers(FName PackageName, TArray< FName > *OutReferencers)
Definition UE.h:767
bool GetAssetsByPath(FName PackagePath, TArray< FAssetData > *OutAssetData, bool bRecursive)
Definition UE.h:760
void ScanPathsSynchronous(TArray< FString > *InPaths, bool bForceRescan)
Definition UE.h:777
void AssetCreated(UObject *NewAsset)
Definition UE.h:779
void OnContentPathDismounted(FString *InAssetPath, FString *FileSystemPath)
Definition UE.h:793
bool AddPath(FString *PathToAdd)
Definition UE.h:775
static bool IsUsingWorldAssets()
Definition UE.h:784
bool RemoveDependsNode(FName PackageName)
Definition UE.h:787
bool GetAssetAvailabilityProgressTypeSupported(EAssetAvailabilityProgressReportingType::Type ReportType)
Definition UE.h:773
void CollectCodeGeneratorClasses()
Definition UE.h:757
void Tick(float DeltaTime)
Definition UE.h:783
bool RemovePath(FString *PathToRemove)
Definition UE.h:776
FAssetRegistry * Get()
Definition UE.h:735
Definition Base.h:181
Definition UE.h:88
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
bool bReturnFaceIndex
Definition UE.h:872
bool bTraceAsyncScene
Definition UE.h:869
TArray< unsigned int > IgnoreActors
Definition UE.h:874
bool bReturnPhysicalMaterial
Definition UE.h:873
bool bFindInitialOverlaps
Definition UE.h:871
FCollisionResponseContainer CollisionResponse
Definition UE.h:884
FORCEINLINE bool operator!=(const FColor &C) const
Definition Color.h:424
FORCEINLINE bool operator==(const FColor &C) const
Definition Color.h:419
static FColor MakeFromColorTemperature(float Temp)
FORCEINLINE FLinearColor ReinterpretAsLinear() const
Definition Color.h:479
FLinearColor FromRGBE() const
FORCEINLINE void operator+=(const FColor &C)
Definition Color.h:429
FORCEINLINE FColor(uint8 InR, uint8 InG, uint8 InB, uint8 InA=255)
Definition Color.h:403
FORCEINLINE uint32 ToPackedRGBA() const
Definition Color.h:503
const uint32 & DWColor(void) const
Definition Color.h:394
FORCEINLINE uint32 ToPackedABGR() const
Definition Color.h:495
FORCEINLINE FColor()
Definition Color.h:397
static FColor FromHex(const FString &HexString)
FORCEINLINE FColor(uint32 InColor)
Definition Color.h:413
FORCEINLINE uint32 ToPackedBGRA() const
Definition Color.h:511
static FColor MakeRedToGreenColorFromScalar(float Scalar)
FORCEINLINE FColor(EForceInit)
Definition Color.h:398
uint32 & DWColor(void)
Definition Color.h:393
FColor WithAlpha(uint8 Alpha) const
Definition Color.h:469
FORCEINLINE uint32 ToPackedARGB() const
Definition Color.h:487
FColor(const FLinearColor &LinearColor)
static FColor MakeRandomColor()
Definition Crc.h:11
static uint32 MemCrc32(const void *Data, int32 Lenght)
Definition Crc.h:12
Definition Color.h:577
uint32 Indices
Definition Color.h:585
uint32 Colors
Definition Color.h:582
FDXTColor16 Color[2]
Definition Color.h:581
Definition Color.h:593
uint8 Alpha[8]
Definition Color.h:595
FDXT1 DXT1
Definition Color.h:597
uint16 Value
Definition Color.h:568
FDXTColor565 Color565
Definition Color.h:566
uint16 B
Definition Color.h:548
uint16 G
Definition Color.h:551
uint16 R
Definition Color.h:554
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)
static bool CanConvertChar(SourceEncoding Ch)
static bool IsValidChar(Encoding Ch)
static const TCHAR * GetEncodingTypeName()
static TEnableIf< TIsFixedWidthEncoding< SourceEncoding >::Value &&TIsFixedWidthEncoding< DestEncoding >::Value, int32 >::Type ConvertedLength(const SourceEncoding *Src, int32 SrcSize)
static TEnableIf<!TAreEncodingsCompatible< SourceEncoding, DestEncoding >::Value &&TIsFixedWidthEncoding< SourceEncoding >::Value, DestEncoding * >::Type Convert(DestEncoding *Dest, int32 DestSize, const SourceEncoding *Src, int32 SrcSize, DestEncoding BogusChar=(DestEncoding)'?')
static TEnableIf< TAreEncodingsCompatible< SourceEncoding, DestEncoding >::Value, DestEncoding * >::Type Convert(DestEncoding *Dest, int32 DestSize, const SourceEncoding *Src, int32 SrcSize, DestEncoding BogusChar=(DestEncoding)'?')
static const bool IsUnicodeEncoded
static void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
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 UE.h:80
uint32_t C
Definition UE.h:83
uint32_t B
Definition UE.h:82
uint32_t A
Definition UE.h:81
uint32_t D
Definition UE.h:84
Definition Actor.h:9443
void ShutdownModule()
Definition UE.h:993
float & HttpReceiveTimeoutField()
Definition UE.h:984
int & HttpMaxConnectionsPerServerField()
Definition UE.h:986
int & MaxReadBufferSizeField()
Definition UE.h:987
bool & bEnableHttpField()
Definition UE.h:988
TSharedRef< IHttpRequest, 0 > * CreateRequest(TSharedRef< IHttpRequest, 0 > *result)
Definition UE.h:995
float & HttpSendTimeoutField()
Definition UE.h:985
float & HttpConnectionTimeoutField()
Definition UE.h:983
static FHttpModule * Get()
Definition UE.h:994
void StartupModule()
Definition UE.h:992
float & HttpTimeoutField()
Definition UE.h:982
bool StartRequest()
Definition UE.h:966
void SetHeader(FString *HeaderName, FString *HeaderValue)
Definition UE.h:964
long double & StartRequestTimeField()
Definition UE.h:947
TSharedPtr< IHttpResponse, 1 > * GetResponse(TSharedPtr< IHttpResponse, 1 > *result)
Definition UE.h:971
FString * GenerateHeaderBuffer(FString *result, unsigned int ContentLength)
Definition UE.h:968
void SetURL(FString *URL)
Definition UE.h:961
EHttpRequestStatus::Type GetStatus()
Definition UE.h:970
TArray< unsigned char > & RequestPayloadField()
Definition UE.h:940
~FHttpRequestWinInet()
Definition UE.h:952
void FinishedRequest()
Definition UE.h:967
FString & RequestVerbField()
Definition UE.h:938
FString * GetContentType(FString *result)
Definition UE.h:957
void CancelRequest()
Definition UE.h:969
void SetContentAsString(FString *ContentString)
Definition UE.h:963
void * RequestHandleField()
Definition UE.h:944
void SetContent(TArray< unsigned char > *ContentPayload)
Definition UE.h:962
FString * GetURL(FString *result)
Definition UE.h:953
void * ConnectionHandleField()
Definition UE.h:943
volatile int & ElapsedTimeSinceLastServerResponseField()
Definition UE.h:945
FString * GetHeader(FString *result, FString *HeaderName)
Definition UE.h:955
void Tick(float DeltaSeconds)
Definition UE.h:972
EHttpRequestStatus::Type & CompletionStatusField()
Definition UE.h:942
int GetContentLength()
Definition UE.h:958
TArray< FString > * GetAllHeaders(TArray< FString > *result)
Definition UE.h:956
bool & bDebugVerboseField()
Definition UE.h:948
TMap< FString, FString, FDefaultSetAllocator, TDefaultMapKeyFuncs< FString, FString, 0 > > & RequestHeadersField()
Definition UE.h:939
TSharedPtr< FHttpResponseWinInet, 1 > & ResponseField()
Definition UE.h:941
FString * GetURLParameter(FString *result, FString *ParameterName)
Definition UE.h:954
void SetVerb(FString *Verb)
Definition UE.h:960
int & ProgressBytesSentField()
Definition UE.h:946
FString * GetVerb(FString *result)
Definition UE.h:959
bool ProcessRequest()
Definition UE.h:965
TArray< FString > * GetAllHeaders(TArray< FString > *result)
Definition UE.h:921
TArray< unsigned char > & ResponsePayloadField()
Definition UE.h:909
volatile int & bResponseSucceededField()
Definition UE.h:911
volatile int & bIsReadyField()
Definition UE.h:910
FString * GetURLParameter(FString *result, FString *ParameterName)
Definition UE.h:919
FString * GetURL(FString *result)
Definition UE.h:917
TArray< unsigned char > * GetContent()
Definition UE.h:924
FString * GetContentType(FString *result)
Definition UE.h:922
int GetContentLength()
Definition UE.h:923
FString * GetContentAsString(FString *result)
Definition UE.h:918
int & MaxReadBufferSizeField()
Definition UE.h:912
void ProcessResponseHeaders()
Definition UE.h:927
FString * QueryHeaderString(FString *result, unsigned int HttpQueryInfoLevel, FString *HeaderName)
Definition UE.h:928
~FHttpResponseWinInet()
Definition UE.h:916
FString * GetHeader(FString *result, FString *HeaderName)
Definition UE.h:920
int & ContentLengthField()
Definition UE.h:908
int GetResponseCode()
Definition UE.h:925
FHttpRequestWinInet * RequestField()
Definition UE.h:903
int & TotalBytesReadField()
Definition UE.h:905
int & AsyncBytesReadField()
Definition UE.h:904
void ProcessResponse()
Definition UE.h:926
int QueryContentLength()
Definition UE.h:929
TMap< FString, FString, FDefaultSetAllocator, TDefaultMapKeyFuncs< FString, FString, 0 > > & ResponseHeadersField()
Definition UE.h:906
int & ResponseCodeField()
Definition UE.h:907
FORCEINLINE T && operator()(T &&Val) const
FORCEINLINE FIntPoint(EForceInit)
Definition IntPoint.h:287
FORCEINLINE FIntPoint ComponentMax(const FIntPoint &Other) const
Definition IntPoint.h:409
int32 SizeSquared() const
Definition IntPoint.h:467
FIntPoint & operator/=(const FIntPoint &Other)
Definition IntPoint.h:359
FIntPoint & operator-=(const FIntPoint &Other)
Definition IntPoint.h:350
static FIntPoint DivideAndRoundUp(FIntPoint lhs, int32 Divisor)
Definition IntPoint.h:414
static FIntPoint DivideAndRoundUp(FIntPoint lhs, FIntPoint Divisor)
Definition IntPoint.h:419
int32 X
Definition IntPoint.h:17
int32 GetMin() const
Definition IntPoint.h:454
FIntPoint & operator=(const FIntPoint &Other)
Definition IntPoint.h:368
int32 Size() const
Definition IntPoint.h:460
int32 Y
Definition IntPoint.h:20
FIntPoint & operator*=(int32 Scale)
Definition IntPoint.h:323
FIntPoint & operator+=(const FIntPoint &Other)
Definition IntPoint.h:341
const int32 & operator()(int32 PointIndex) const
Definition IntPoint.h:293
static const FIntPoint NoneValue
Definition IntPoint.h:28
int32 & operator[](int32 Index)
Definition IntPoint.h:389
FIntPoint & operator/=(int32 Divisor)
Definition IntPoint.h:332
FString ToString() const
static int32 Num()
Definition IntPoint.h:305
int32 & operator()(int32 PointIndex)
Definition IntPoint.h:299
FIntPoint operator-(const FIntPoint &Other) const
Definition IntPoint.h:436
int32 GetMax() const
Definition IntPoint.h:448
bool operator!=(const FIntPoint &Other) const
Definition IntPoint.h:317
FIntPoint(int32 InX, int32 InY)
Definition IntPoint.h:281
FIntPoint operator/(const FIntPoint &Other) const
Definition IntPoint.h:442
FIntPoint operator*(int32 Scale) const
Definition IntPoint.h:377
bool operator==(const FIntPoint &Other) const
Definition IntPoint.h:311
FIntPoint operator+(const FIntPoint &Other) const
Definition IntPoint.h:430
int32 operator[](int32 Index) const
Definition IntPoint.h:396
FIntPoint operator/(int32 Divisor) const
Definition IntPoint.h:383
static FIntPoint DivideAndRoundDown(FIntPoint lhs, int32 Divisor)
Definition IntPoint.h:424
FORCEINLINE FIntPoint ComponentMin(const FIntPoint &Other) const
Definition IntPoint.h:403
static const FIntPoint ZeroValue
Definition IntPoint.h:25
FORCEINLINE bool operator==(const FIntVector4 &Other) const
Definition IntVector.h:459
FORCEINLINE FIntVector4()
Definition IntVector.h:420
FORCEINLINE const int32 & operator[](int32 ComponentIndex) const
Definition IntVector.h:448
FORCEINLINE bool operator!=(const FIntVector4 &Other) const
Definition IntVector.h:465
FORCEINLINE FIntVector4(EForceInit)
Definition IntVector.h:440
FORCEINLINE int32 & operator[](int32 ComponentIndex)
Definition IntVector.h:454
FORCEINLINE FIntVector4(int32 InValue)
Definition IntVector.h:432
FORCEINLINE FIntVector4(int32 InX, int32 InY, int32 InZ, int32 InW)
Definition IntVector.h:424
FIntVector & operator=(const FIntVector &Other)
Definition IntVector.h:346
bool operator==(const FIntVector &Other) const
Definition IntVector.h:294
static const FIntVector NoneValue
Definition IntVector.h:33
FIntVector operator/(int32 Divisor) const
Definition IntVector.h:362
int32 Z
Definition IntVector.h:25
FIntVector operator+(const FIntVector &Other) const
Definition IntVector.h:368
static FIntVector DivideAndRoundUp(FIntVector lhs, int32 Divisor)
Definition IntVector.h:379
FIntVector & operator/=(int32 Divisor)
Definition IntVector.h:316
FIntVector & operator*=(int32 Scale)
Definition IntVector.h:306
int32 Y
Definition IntVector.h:22
int32 & operator()(int32 ComponentIndex)
Definition IntVector.h:277
FIntVector(FVector InVector)
Definition Vector.h:936
static int32 Num()
Definition IntVector.h:397
const int32 & operator()(int32 ComponentIndex) const
Definition IntVector.h:271
FIntVector operator-(const FIntVector &Other) const
Definition IntVector.h:373
int32 Size() const
Definition IntVector.h:403
float GetMax() const
Definition IntVector.h:385
FIntVector & operator+=(const FIntVector &Other)
Definition IntVector.h:326
FIntVector(int32 InX, int32 InY, int32 InZ)
Definition IntVector.h:250
float GetMin() const
Definition IntVector.h:391
FIntVector(int32 InValue)
Definition IntVector.h:257
static const FIntVector ZeroValue
Definition IntVector.h:30
FIntVector & operator-=(const FIntVector &Other)
Definition IntVector.h:336
FORCEINLINE FIntVector(EForceInit)
Definition IntVector.h:264
int32 & operator[](int32 ComponentIndex)
Definition IntVector.h:289
bool IsZero() const
Definition IntVector.h:411
const int32 & operator[](int32 ComponentIndex) const
Definition IntVector.h:283
int32 X
Definition IntVector.h:19
FIntVector operator*(int32 Scale) const
Definition IntVector.h:356
bool operator!=(const FIntVector &Other) const
Definition IntVector.h:300
Definition Inventory.h:50
Definition Base.h:120
Definition Base.h:216
FORCEINLINE FLinearColor & operator-=(const FLinearColor &ColorB)
Definition Color.h:147
FORCEINLINE FLinearColor & operator*=(float Scalar)
Definition Color.h:184
static FLinearColor LerpUsingHSV(const FLinearColor &From, const FLinearColor &To, const float Progress)
FORCEINLINE FLinearColor(float InR, float InG, float InB, float InA=1.0f)
Definition Color.h:104
FORCEINLINE FLinearColor(EForceInit)
Definition Color.h:101
float A
Definition Color.h:38
FORCEINLINE FLinearColor & operator*=(const FLinearColor &ColorB)
Definition Color.h:165
FORCEINLINE FLinearColor operator+(const FLinearColor &ColorB) const
Definition Color.h:120
float G
Definition Color.h:36
FORCEINLINE FLinearColor operator-(const FLinearColor &ColorB) const
Definition Color.h:138
FORCEINLINE FLinearColor operator/(const FLinearColor &ColorB) const
Definition Color.h:193
float B
Definition Color.h:37
float ComputeLuminance() const
Definition Color.h:327
static FLinearColor FGetHSV(uint8 H, uint8 S, uint8 V)
FLinearColor Desaturate(float Desaturation) const
static FLinearColor MakeRandomColor()
FORCEINLINE FLinearColor GetClamped(float InMin=0.0f, float InMax=1.0f) const
Definition Color.h:232
FLinearColor(const FColor &Color)
Definition Color.h:529
FORCEINLINE const float & Component(int32 Index) const
Definition Color.h:115
bool IsAlmostBlack() const
Definition Color.h:343
FORCEINLINE float & Component(int32 Index)
Definition Color.h:110
FLinearColor LinearRGBToHSV() const
static FLinearColor MakeFromColorTemperature(float Temp)
static CONSTEXPR double sRGBToLinearTable[256]
Definition Color.h:44
FORCEINLINE bool Equals(const FLinearColor &ColorB, float Tolerance=KINDA_SMALL_NUMBER) const
Definition Color.h:255
FORCEINLINE FLinearColor()
Definition Color.h:100
FORCEINLINE bool operator==(const FLinearColor &ColorB) const
Definition Color.h:245
FORCEINLINE float GetMin() const
Definition Color.h:353
FORCEINLINE float GetLuminance() const
Definition Color.h:358
FLinearColor CopyWithNewOpacity(float NewOpacicty) const
Definition Color.h:260
FORCEINLINE float GetMax() const
Definition Color.h:337
FLinearColor HSVToLinearRGB() const
static float Pow22OneOver255Table[256]
Definition Color.h:41
FORCEINLINE FLinearColor operator*(const FLinearColor &ColorB) const
Definition Color.h:156
FORCEINLINE FLinearColor & operator/=(const FLinearColor &ColorB)
Definition Color.h:202
FORCEINLINE bool operator!=(const FLinearColor &Other) const
Definition Color.h:249
FORCEINLINE FLinearColor operator/(float Scalar) const
Definition Color.h:211
static float Dist(const FLinearColor &V1, const FLinearColor &V2)
Definition Color.h:285
FORCEINLINE FLinearColor & operator/=(float Scalar)
Definition Color.h:221
FORCEINLINE FLinearColor operator*(float Scalar) const
Definition Color.h:174
float R
Definition Color.h:35
static float EvaluateBezier(const FLinearColor *ControlPoints, int32 NumPoints, TArray< FLinearColor > &OutPoints)
FORCEINLINE FLinearColor & operator+=(const FLinearColor &ColorB)
Definition Color.h:129
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 int64 Atoi64(const WIDECHAR *String)
static FORCEINLINE int32 Strtoi(const WIDECHAR *Start, WIDECHAR **End, int32 Base)
static const ANSICHAR * GetEncodingName()
static FORCEINLINE int32 Strcmp(const ANSICHAR *String1, const ANSICHAR *String2)
static FORCEINLINE int32 Strcmp(const WIDECHAR *String1, const WIDECHAR *String2)
static FORCEINLINE int64 Strtoi64(const ANSICHAR *Start, ANSICHAR **End, int32 Base)
static FORCEINLINE const ANSICHAR * Strstr(const ANSICHAR *String, const ANSICHAR *Find)
static FORCEINLINE const ANSICHAR * Strrchr(const ANSICHAR *String, ANSICHAR C)
static FORCEINLINE const ANSICHAR * Strchr(const ANSICHAR *String, ANSICHAR C)
static FORCEINLINE WIDECHAR * Strcpy(WIDECHAR *Dest, SIZE_T DestCount, const WIDECHAR *Src)
static FORCEINLINE int32 Stricmp(const ANSICHAR *String1, const ANSICHAR *String2)
static FORCEINLINE int32 Atoi(const ANSICHAR *String)
static FORCEINLINE int32 Strnicmp(const WIDECHAR *String1, const WIDECHAR *String2, SIZE_T Count)
static FORCEINLINE int32 Strncmp(const ANSICHAR *String1, const ANSICHAR *String2, SIZE_T Count)
static FORCEINLINE WIDECHAR * Strncpy(WIDECHAR *Dest, const WIDECHAR *Src, SIZE_T MaxLen)
static FORCEINLINE const WIDECHAR * Strchr(const WIDECHAR *String, WIDECHAR C)
static FORCEINLINE const WIDECHAR * Strstr(const WIDECHAR *String, const WIDECHAR *Find)
static FORCEINLINE ANSICHAR * Strupr(ANSICHAR *Dest, SIZE_T DestCount)
static FORCEINLINE int32 Strlen(const ANSICHAR *String)
static FORCEINLINE int64 Atoi64(const ANSICHAR *String)
static FORCEINLINE uint64 Strtoui64(const ANSICHAR *Start, ANSICHAR **End, int32 Base)
static FORCEINLINE int32 Strlen(const WIDECHAR *String)
static FORCEINLINE double Atod(const WIDECHAR *String)
static FORCEINLINE int64 Strtoi64(const WIDECHAR *Start, WIDECHAR **End, int32 Base)
static FORCEINLINE WIDECHAR * Strtok(WIDECHAR *StrToken, const WIDECHAR *Delim, WIDECHAR **Context)
static FORCEINLINE int32 Stricmp(const WIDECHAR *String1, const WIDECHAR *String2)
static FORCEINLINE int32 GetVarArgs(ANSICHAR *Dest, SIZE_T DestSize, int32 Count, const ANSICHAR *&Fmt, va_list ArgPtr)
static FORCEINLINE int32 Atoi(const WIDECHAR *String)
static FORCEINLINE int32 GetVarArgs(WIDECHAR *Dest, SIZE_T DestSize, int32 Count, const WIDECHAR *&Fmt, va_list ArgPtr)
static FORCEINLINE int32 Strnicmp(const ANSICHAR *String1, const ANSICHAR *String2, SIZE_T Count)
static FORCEINLINE float Atof(const WIDECHAR *String)
static FORCEINLINE WIDECHAR * Strupr(WIDECHAR *Dest, SIZE_T DestCount)
static FORCEINLINE WIDECHAR * Strcat(WIDECHAR *Dest, SIZE_T DestCount, const WIDECHAR *Src)
static FORCEINLINE const WIDECHAR * Strrchr(const WIDECHAR *String, WIDECHAR C)
static FORCEINLINE int32 Strtoi(const ANSICHAR *Start, ANSICHAR **End, int32 Base)
static FORCEINLINE ANSICHAR * Strcat(ANSICHAR *Dest, SIZE_T DestCount, const ANSICHAR *Src)
static FORCEINLINE ANSICHAR * Strtok(ANSICHAR *StrToken, const ANSICHAR *Delim, ANSICHAR **Context)
static FORCEINLINE uint64 Strtoui64(const WIDECHAR *Start, WIDECHAR **End, int32 Base)
static FORCEINLINE int32 Strncmp(const WIDECHAR *String1, const WIDECHAR *String2, SIZE_T Count)
static FORCEINLINE void Strncpy(ANSICHAR *Dest, const ANSICHAR *Src, SIZE_T MaxLen)
static FORCEINLINE float Atof(const ANSICHAR *String)
static FORCEINLINE double Atod(const ANSICHAR *String)
static FORCEINLINE ANSICHAR * Strcpy(ANSICHAR *Dest, SIZE_T DestCount, const ANSICHAR *Src)
TSharedPtr< IModuleInterface > * LoadModule(TSharedPtr< IModuleInterface > *result, FName InModuleName, const bool bWasReloaded)
Definition UE.h:745
bool IsModuleLoaded(FName InModuleName)
Definition UE.h:742
void FindModules(const wchar_t *WildcardWithoutExtension, TArray< FName > *OutModules)
Definition UE.h:741
bool IsModuleUpToDate(FName InModuleName)
Definition UE.h:743
static FString * GetCleanModuleFilename(FString *result, FName ModuleName, bool bGameModule)
Definition UE.h:749
TSharedPtr< IModuleInterface > * GetModule(TSharedPtr< IModuleInterface > *result, FName InModuleName)
Definition UE.h:748
void UnloadModulesAtShutdown()
Definition UE.h:747
bool UnloadModule(FName InModuleName, bool bIsShutdown)
Definition UE.h:746
static void GetModuleFilenameFormat(bool bGameModule, FString *OutPrefix, FString *OutSuffix)
Definition UE.h:750
void AddModule(FName InModuleName)
Definition UE.h:744
void AddBinariesDirectory(const wchar_t *InDirectory, bool bIsGameDirectory)
Definition UE.h:751
void FModuleInfo()
Definition UE.h:752
static FModuleManager * Get()
Definition UE.h:740
Definition Other.h:87
Definition UE.h:21
unsigned int Number
Definition UE.h:23
static bool SplitNameWithCheck(const wchar_t *OldName, wchar_t *NewName, int NewNameLen, int *NewNumber)
Definition UE.h:55
int ComparisonIndex
Definition UE.h:22
bool operator==(const wchar_t *Other)
Definition UE.h:42
int Compare(FName *Other)
Definition UE.h:43
bool operator==(const FName &Other) const
Definition UE.h:60
FName(EName)
Definition UE.h:31
void ToString(FString *Out)
Definition UE.h:44
FString * GetPlainNameString(FString *result)
Definition UE.h:58
void AppendString(FString *Out)
Definition UE.h:54
FName()
Definition UE.h:27
FString ToString() const
Definition UE.h:45
void Init(const char *InName, int InNumber, EFindName FindType, bool bSplitName, int HardcodeIndex)
Definition UE.h:57
bool IsValidXName(FString InvalidChars, FText *Reason)
Definition UE.h:56
static FString * NameToDisplayString(FString *result, FString *InDisplayName, const bool bIsBool)
Definition UE.h:35
FName(const char *Name, EFindName FindType)
Definition UE.h:37
void(__fastcall *Pointer)(UObject *_this
uint32_t Flags
Definition UE.h:835
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_NetQuantize(float InPitch, float InYaw, float InRoll)
FORCEINLINE FRotator_NetQuantize(EForceInit E)
FORCEINLINE FRotator_NetQuantize()
static const FRotator ZeroRotator
Definition Rotator.h:29
void Normalize()
Definition Rotator.h:566
FRotator GetDenormalized() const
Definition Rotator.h:556
float Pitch
Definition Rotator.h:18
float Yaw
Definition Rotator.h:21
FRotator GetNormalized() const
Definition Rotator.h:548
bool IsNearlyZero(float Tolerance=KINDA_SMALL_NUMBER) const
Definition Rotator.h:437
static float DecompressAxisFromByte(uint16 Angle)
Definition Rotator.h:527
bool ContainsNaN() const
Definition Rotator.h:580
FVector UnrotateVector(const FVector &V) const
FRotator Clamp() const
Definition Rotator.h:484
FORCEINLINE FRotator()
Definition Rotator.h:36
static float NormalizeAxis(float Angle)
Definition Rotator.h:505
static float DecompressAxisFromShort(uint16 Angle)
Definition Rotator.h:541
FRotator operator+=(const FRotator &R)
Definition Rotator.h:423
FRotator operator-(const FRotator &R) const
Definition Rotator.h:392
FRotator GetInverse() const
bool operator==(const FRotator &R) const
Definition Rotator.h:411
FORCEINLINE FRotator(float InF)
Definition Rotator.h:369
static uint8 CompressAxisToByte(float Angle)
Definition Rotator.h:520
FRotator(const FQuat &Quat)
FRotator operator*=(float Scale)
Definition Rotator.h:404
void GetWindingAndRemainder(FRotator &Winding, FRotator &Remainder) const
static uint16 CompressAxisToShort(float Angle)
Definition Rotator.h:534
FORCEINLINE FRotator(EForceInit)
Definition Rotator.h:381
FRotator operator-=(const FRotator &R)
Definition Rotator.h:430
FRotator Add(float DeltaPitch, float DeltaYaw, float DeltaRoll)
Definition Rotator.h:475
FRotator GridSnap(const FRotator &RotGrid) const
bool InitFromString(const FString &InSourceString)
FRotator operator*(float Scale) const
Definition Rotator.h:398
FString ToString() const
FORCEINLINE FRotator(float InPitch, float InYaw, float InRoll)
Definition Rotator.h:375
bool Equals(const FRotator &R, float Tolerance=KINDA_SMALL_NUMBER) const
Definition Rotator.h:459
FVector RotateVector(const FVector &V) const
float Roll
Definition Rotator.h:24
FString ToCompactString() const
FVector Vector() const
bool IsZero() const
Definition Rotator.h:453
FRotator operator+(const FRotator &R) const
Definition Rotator.h:386
FQuat Quaternion() const
FVector Euler() const
static float ClampAxis(float Angle)
Definition Rotator.h:490
static FRotator MakeFromEuler(const FVector &Euler)
bool operator!=(const FRotator &V) const
Definition Rotator.h:417
int32 KeyOffset
Definition Map.h:1260
FScriptSetLayout SetLayout
Definition Map.h:1263
int32 ValueOffset
Definition Map.h:1261
Definition UE.h:114
bool ShouldGatherForLocalization()
Definition UE.h:138
int CompareTo(FText *Other, ETextComparisonLevel::Type ComparisonLevel)
Definition UE.h:121
static void GetEmpty()
Definition UE.h:140
static FText * FromName(FText *result, FName *Val)
Definition UE.h:135
FString * ToString()
Definition UE.h:137
static bool FindText(FString *Namespace, FString *Key, FText *OutText, FString *const SourceString)
Definition UE.h:133
static FText * Format(FText *result, FText *Fmt, FText *v1, FText *v2)
Definition UE.h:131
static FText * TrimPreceding(FText *result, FText *InText)
Definition UE.h:127
static FText * CreateChronologicalText(FText *result, FString InSourceString)
Definition UE.h:134
TSharedPtr< FString > * GetSourceString(TSharedPtr< FString > *result)
Definition UE.h:139
FText(FText *Source)
Definition UE.h:123
static FText * TrimTrailing(FText *result, FText *InText)
Definition UE.h:128
FText * operator=(FText *Source)
Definition UE.h:124
static FText * TrimPrecedingAndTrailing(FText *result, FText *InText)
Definition UE.h:129
FText(FString InSourceString)
Definition UE.h:125
TSharedPtr< FTextHistory > History
Definition UE.h:115
int Flags
Definition UE.h:116
static FText * FromString(FText *result, FString String)
Definition UE.h:136
TSharedPtr< FString > DisplayString
Definition UE.h:117
FText(FString InSourceString, FString InNamespace, FString InKey, int InFlags)
Definition UE.h:126
FText()
Definition UE.h:122
static FText * Format(FText *result, FText *Fmt, FText *v1)
Definition UE.h:130
static FText * Format(FText *result, FText *Fmt, FText *v1, FText *v2, FText *v3)
Definition UE.h:132
Definition UE.h:809
__m128 Scale3D
Definition UE.h:72
__m128 Translation
Definition UE.h:71
__m128 Rotation
Definition UE.h:70
FORCEINLINE const uint32 & operator[](int32 ComponentIndex) const
Definition IntVector.h:503
FORCEINLINE bool operator==(const FUintVector4 &Other) const
Definition IntVector.h:514
FORCEINLINE bool operator!=(const FUintVector4 &Other) const
Definition IntVector.h:520
FORCEINLINE FUintVector4(uint32 InX, uint32 InY, uint32 InZ, uint32 InW)
Definition IntVector.h:479
FORCEINLINE FUintVector4(EForceInit)
Definition IntVector.h:495
FORCEINLINE FUintVector4(uint32 InValue)
Definition IntVector.h:487
FORCEINLINE FUintVector4()
Definition IntVector.h:475
FORCEINLINE uint32 & operator[](int32 ComponentIndex)
Definition IntVector.h:509
TSharedPtr< FUniqueNetId > UniqueNetId
Definition Actor.h:190
unsigned __int64 UniqueNetId
Definition UE.h:258
int GetSize()
Definition UE.h:262
bool IsValid()
Definition UE.h:264
FString * ToString(FString *result)
Definition UE.h:263
FString * ToDebugString(FString *result)
Definition UE.h:265
FString UniqueNetIdStr
Definition UE.h:270
FUniqueNetIdUInt64(uint64 InUniqueNetId)
Definition UE.h:248
FUniqueNetIdUInt64(FString *Str)
Definition UE.h:245
unsigned __int64 & UniqueNetIdField()
Definition UE.h:241
FString * ToDebugString(FString *result)
Definition UE.h:251
FUniqueNetIdUInt64(FUniqueNetId *InUniqueNetId)
Definition UE.h:247
FString * ToString(FString *result)
Definition UE.h:253
unsigned int GetHash()
Definition UE.h:252
bool IsValid()
Definition UE.h:250
FUniqueNetIdUInt64(FUniqueNetIdUInt64 *Src)
Definition UE.h:246
FVector2D RoundToVector() const
Definition Vector2D.h:806
FIntPoint IntPoint() const
Definition Vector2D.h:801
FVector2D GetRotated(float AngleDeg) const
Definition Vector2D.h:719
bool IsNearlyZero(float Tolerance=KINDA_SMALL_NUMBER) const
Definition Vector2D.h:776
float Y
Definition Vector2D.h:22
float Size() const
Definition Vector2D.h:707
static const FVector2D UnitVector
Definition Vector2D.h:30
static FORCEINLINE float DistSquared(const FVector2D &V1, const FVector2D &V2)
Definition Vector2D.h:559
float Component(int32 Index) const
Definition Vector2D.h:795
FORCEINLINE float operator|(const FVector2D &V) const
Definition Vector2D.h:541
FORCEINLINE FVector2D operator-(const FVector2D &V) const
Definition Vector2D.h:498
static FORCEINLINE float CrossProduct(const FVector2D &A, const FVector2D &B)
Definition Vector2D.h:571
bool IsZero() const
Definition Vector2D.h:783
static FORCEINLINE float DotProduct(const FVector2D &A, const FVector2D &B)
Definition Vector2D.h:553
FORCEINLINE FVector2D operator+=(const FVector2D &V)
Definition Vector2D.h:625
bool operator>=(const FVector2D &Other) const
Definition Vector2D.h:607
FORCEINLINE FVector2D operator-(float A) const
Definition Vector2D.h:523
FVector2D operator/=(float V)
Definition Vector2D.h:646
static const FVector2D ZeroVector
Definition Vector2D.h:27
bool operator!=(const FVector2D &V) const
Definition Vector2D.h:583
float operator[](int32 Index) const
Definition Vector2D.h:675
FORCEINLINE FVector2D operator*(float Scale) const
Definition Vector2D.h:504
FVector2D operator/=(const FVector2D &V)
Definition Vector2D.h:661
FORCEINLINE FVector2D(FIntPoint InPos)
Definition Vector2D.h:480
float & operator[](int32 Index)
Definition Vector2D.h:668
bool Equals(const FVector2D &V, float Tolerance=KINDA_SMALL_NUMBER) const
Definition Vector2D.h:613
float GetMax() const
Definition Vector2D.h:689
FORCEINLINE FVector2D operator+(const FVector2D &V) const
Definition Vector2D.h:492
float GetMin() const
Definition Vector2D.h:701
FORCEINLINE FVector2D GetSignVector() const
Definition Vector2D.h:817
FORCEINLINE FVector2D()
Definition Vector2D.h:35
FORCEINLINE FVector2D operator+(float A) const
Definition Vector2D.h:517
FORCEINLINE FVector2D(EForceInit)
Definition Vector2D.h:487
bool operator<(const FVector2D &Other) const
Definition Vector2D.h:589
FORCEINLINE FVector2D GetAbs() const
Definition Vector2D.h:826
FORCEINLINE FVector2D operator-() const
Definition Vector2D.h:619
FORCEINLINE float operator^(const FVector2D &V) const
Definition Vector2D.h:547
void Set(float InX, float InY)
Definition Vector2D.h:682
float & Component(int32 Index)
Definition Vector2D.h:789
FVector2D operator/(float Scale) const
Definition Vector2D.h:510
void ToDirectionAndLength(FVector2D &OutDir, float &OutLength) const
Definition Vector2D.h:761
FORCEINLINE bool ContainsNaN() const
Definition Vector2D.h:457
FORCEINLINE FVector2D operator*=(float Scale)
Definition Vector2D.h:639
float GetAbsMax() const
Definition Vector2D.h:695
FORCEINLINE FVector2D operator-=(const FVector2D &V)
Definition Vector2D.h:632
FVector2D ClampAxes(float MinAxisVal, float MaxAxisVal) const
Definition Vector2D.h:811
FVector2D operator/(const FVector2D &V) const
Definition Vector2D.h:535
FVector2D GetSafeNormal(float Tolerance=SMALL_NUMBER) const
Definition Vector2D.h:734
bool operator<=(const FVector2D &Other) const
Definition Vector2D.h:601
FORCEINLINE FVector2D(float InX, float InY)
Definition Vector2D.h:475
float X
Definition Vector2D.h:19
void Normalize(float Tolerance=SMALL_NUMBER)
Definition Vector2D.h:746
float SizeSquared() const
Definition Vector2D.h:713
FVector2D operator*=(const FVector2D &V)
Definition Vector2D.h:654
bool operator==(const FVector2D &V) const
Definition Vector2D.h:577
static FORCEINLINE float Distance(const FVector2D &V1, const FVector2D &V2)
Definition Vector2D.h:565
bool operator>(const FVector2D &Other) const
Definition Vector2D.h:595
FORCEINLINE FVector2D operator*(const FVector2D &V) const
Definition Vector2D.h:529
FORCEINLINE FVector_NetQuantize100()
FORCEINLINE FVector_NetQuantize100(EForceInit E)
FORCEINLINE FVector_NetQuantize100(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantize100(const FVector &InVec)
FORCEINLINE FVector_NetQuantize10(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantize10(const FVector &InVec)
FORCEINLINE FVector_NetQuantize10(EForceInit E)
FORCEINLINE FVector_NetQuantize10()
FORCEINLINE FVector_NetQuantize(EForceInit E)
FORCEINLINE FVector_NetQuantize(const FVector &InVec)
FORCEINLINE FVector_NetQuantize(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantize()
FORCEINLINE FVector_NetQuantizeNormal(EForceInit E)
FORCEINLINE FVector_NetQuantizeNormal(float InX, float InY, float InZ)
FORCEINLINE FVector_NetQuantizeNormal()
FORCEINLINE FVector_NetQuantizeNormal(const FVector &InVec)
FORCEINLINE FVector operator+(float Bias) const
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
int ObjectIndex
Definition UE.h:149
void operator=(UObject const *__that)
Definition UE.h:152
bool IsValid()
Definition UE.h:153
int ObjectSerialNumber
Definition UE.h:150
Definition UE.h:623
static UObject * StaticConstructObject(UClass *InClass, UObject *InOuter, FName InName, EObjectFlags InFlags, UObject *InTemplate, bool bCopyTransientsFromClassDefaults, FObjectInstancingGraph *InInstanceGraph)
Definition UE.h:640
static void GetPrivateStaticClassBody(const wchar_t *PackageName, const wchar_t *Name, T **ReturnClass, void(__cdecl *RegisterNativeFunc)())
static UObject * StaticLoadObject(UClass *ObjectClass, UObject *InOuter, const wchar_t *InName, const wchar_t *Filename, unsigned int LoadFlags, DWORD64 Sandbox, bool bAllowObjectReconciliation)
Definition UE.h:631
static DataValue< UEngine * > GEngine()
Definition UE.h:676
static DataValue< FUObjectArray > GUObjectArray()
Definition UE.h:678
static bool HasClassCastFlags(UObject *object, ClassCastFlags flags)
Definition UE.h:664
static bool HasClassCastFlags(UClass *_class, ClassCastFlags flags)
Definition UE.h:670
static void GetObjectsOfClass(UClass *ClassToLookFor, TArray< UObject *, FDefaultAllocator > *Results, bool bIncludeDerivedClasses, EObjectFlags ExclusionFlags)
Definition UE.h:625
void * vfptr
Definition UE.h:231
FString * ToHumanReadableString(FString *result)
Definition UE.h:232
static bool IsLinebreak(CharType c)
Definition Char.h:87
static bool IsLinebreak(CharType c)
Definition Char.h:70
@ Value
Definition AndOrNot.h:31
T * Begin
Definition Sorting.h:58
int32 Size
Definition Sorting.h:59
int32 Num() const
Definition Sorting.h:55
T * GetData() const
Definition Sorting.h:54
TArrayRange(T *InPtr, int32 InSize)
Definition Sorting.h:48
static FORCEINLINE CharType * Strcpy(CharType *Dest, SIZE_T DestCount, const CharType *Src)
Definition CString.h:520
static FORCEINLINE bool IsPureAnsi(const CharType *Str)
static FORCEINLINE uint64 Strtoui64(const CharType *Start, CharType **End, int32 Base)
Definition CString.h:743
static const CharType * Strfind(const CharType *Str, const CharType *Find)
Definition CString.h:370
static CharType * Strncat(CharType *Dest, const CharType *Src, int32 MaxLen)
Definition CString.h:125
static const CharType * Strifind(const CharType *Str, const CharType *Find)
Definition CString.h:399
static FORCEINLINE const CharType * Strchr(const CharType *String, CharType c)
Definition CString.h:598
static FORCEINLINE CharType * Strupr(CharType *Dest, SIZE_T DestCount)
Definition CString.h:542
static CharType * Stristr(CharType *Str, const CharType *Find)
Definition CString.h:228
static const CharType * Tab(int32 NumTabs)
Definition CString.h:361
static FORCEINLINE int32 GetVarArgs(CharType *Dest, SIZE_T DestSize, int32 Count, const CharType *&Fmt, va_list ArgPtr)
Definition CString.h:758
static FORCEINLINE int64 Strtoi64(const CharType *Start, CharType **End, int32 Base)
Definition CString.h:736
static FORCEINLINE CharType * Strstr(CharType *String, const CharType *Find)
Definition CString.h:591
static FORCEINLINE CharType * Strcat(CharType(&Dest)[DestCount], const CharType *Src)
Definition CString.h:112
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 const CharType * Strrstr(const CharType *String, const CharType *Find)
Definition CString.h:626
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 Strspn(const CharType *String, const CharType *Mask)
Definition CString.h:656
static FORCEINLINE int32 Atoi(const CharType *String)
Definition CString.h:701
static FORCEINLINE CharType * Strtok(CharType *TokenString, const CharType *Delim, CharType **Context)
Definition CString.h:751
static FORCEINLINE bool ToBool(const CharType *String)
static FORCEINLINE CharType * Strchr(CharType *String, CharType c)
Definition CString.h:605
static FORCEINLINE CharType * Strcat(CharType *Dest, SIZE_T DestCount, const CharType *Src)
Definition CString.h:535
static FORCEINLINE CharType * Strncpy(CharType *Dest, const CharType *Src, int32 MaxLen)
Definition CString.h:527
static FORCEINLINE CharType * Strrstr(CharType *String, const CharType *Find)
Definition CString.h:633
static FORCEINLINE CharType * Strcpy(CharType(&Dest)[DestCount], const CharType *Src)
Definition CString.h:88
static FORCEINLINE int32 Strncmp(const CharType *String1, const CharType *String2, SIZE_T Count)
Definition CString.h:556
static FORCEINLINE CharType * Strupr(CharType(&Dest)[DestCount])
Definition CString.h:154
static FORCEINLINE int32 Strtoi(const CharType *Start, CharType **End, int32 Base)
Definition CString.h:729
static FORCEINLINE const CharType * Strrchr(const CharType *String, CharType c)
Definition CString.h:612
static bool IsNumeric(const CharType *Str)
Definition CString.h:30
T CharType
Definition CString.h:18
static const CharType * Spc(int32 NumSpaces)
Definition CString.h:354
static const CharType * Stristr(const CharType *Str, const CharType *Find)
Definition CString.h:485
static const CharType * StrfindDelim(const CharType *Str, const CharType *Find, const CharType *Delim=LITERAL(CharType, " \t,"))
Definition CString.h:434
static FORCEINLINE CharType * Strrchr(CharType *String, CharType c)
Definition CString.h:619
static FORCEINLINE int32 Strcspn(const CharType *String, const CharType *Mask)
Definition CString.h:680
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
static const int32 MAX_TABS
Definition CString.h:350
static const int32 MAX_SPACES
Definition CString.h:347
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 const CharType NextLine
Definition Char.h:62
static const CharType FormFeed
Definition Char.h:60
static const CharType VerticalTab
Definition Char.h:59
static const CharType CarriageReturn
Definition Char.h:61
static const CharType LineFeed
Definition Char.h:58
static const CharType LineSeparator
Definition Char.h:49
static const CharType NextLine
Definition Char.h:48
static const CharType FormFeed
Definition Char.h:46
T CharType
Definition Char.h:42
static const CharType CarriageReturn
Definition Char.h:47
static const CharType ParagraphSeparator
Definition Char.h:50
static const CharType VerticalTab
Definition Char.h:45
static const CharType LineFeed
Definition Char.h:44
Definition Char.h:99
T CharType
Definition Char.h:100
static bool IsOctDigit(CharType Char)
Definition Char.h:114
static CharType ToLower(CharType Char)
static bool IsIdentifier(CharType Char)
Definition Char.h:128
static bool IsUnderscore(CharType Char)
Definition Char.h:133
static bool IsDigit(CharType Char)
static bool IsAlnum(CharType Char)
static bool IsWhitespace(CharType Char)
static bool IsPrint(CharType Char)
static bool IsLower(CharType Char)
static bool IsGraph(CharType Char)
static CharType ToUpper(CharType Char)
static int32 ConvertCharDigitToInt(CharType Char)
Definition Char.h:121
static bool IsHexDigit(CharType Char)
static bool IsUpper(CharType Char)
static bool IsPunct(CharType Char)
static bool IsAlpha(CharType Char)
static bool IsLinebreak(CharType Char)
Definition Char.h:136
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
Definition Decay.h:44
UE4Decay_Private::TDecayNonReference< typenameTRemoveReference< T >::Type >::Type Type
Definition Decay.h:45
TTypeTraits< KeyType >::ConstPointerType KeyInitType
Definition Map.h:75
static FORCEINLINE KeyInitType GetSetKey(ElementInitType Element)
Definition Map.h:78
static FORCEINLINE bool Matches(KeyInitType A, KeyInitType B)
Definition Map.h:82
const TPairInitializer< typename TTypeTraits< KeyType >::ConstInitType, typename TTypeTraits< ValueType >::ConstInitType > & ElementInitType
Definition Map.h:76
static FORCEINLINE uint32 GetKeyHash(KeyInitType Key)
Definition Map.h:86
TDereferenceWrapper(const PREDICATE_CLASS &InPredicate)
Definition Sorting.h:31
const PREDICATE_CLASS & Predicate
Definition Sorting.h:29
FORCEINLINE bool operator()(T *A, T *B) const
Definition Sorting.h:35
TDereferenceWrapper(const PREDICATE_CLASS &InPredicate)
Definition Sorting.h:18
const PREDICATE_CLASS & Predicate
Definition Sorting.h:16
FORCEINLINE bool operator()(T &A, T &B)
Definition Sorting.h:22
FORCEINLINE bool operator()(const T &A, const T &B) const
Definition Sorting.h:23
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
FORCEINLINE bool operator()(const T &A, const T &B) const
Definition Less.h:26
Definition Less.h:15
FORCEINLINE bool operator()(const T &A, const T &B) const
Definition Less.h:16
static const WIDECHAR * Select(const ANSICHAR *, const WIDECHAR *wide)
Definition Char.h:27
static const WIDECHAR Select(const ANSICHAR, const WIDECHAR wide)
Definition Char.h:26
static const ANSICHAR Select(const ANSICHAR ansi, const WIDECHAR)
Definition Char.h:19
static const ANSICHAR * Select(const ANSICHAR *ansi, const WIDECHAR *)
Definition Char.h:20
static FORCEINLINE TCHAR const * GetName()
@ Value
Definition AndOrNot.h:69
@ Value
Definition AndOrNot.h:60
static uint16 Test(To *)
static uint8 Test(...)
TScopeCounter(Type &ReferenceValue)
TSubclassOf()
Definition UE.h:216
UClass * uClass
Definition UE.h:226
TSubclassOf(UClass *uClass)
Definition UE.h:221
FORCEINLINE ObjectType * operator->() const
Definition UE.h:101
FORCEINLINE ObjectType & operator*() const
Definition UE.h:96
ObjectType * Object
Definition UE.h:94
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
int ObjectIndex
Definition UE.h:159
FORCEINLINE T & operator*()
Definition UE.h:162
TWeakObjectPtr(int index, int serialnumber)
Definition UE.h:196
int ObjectSerialNumber
Definition UE.h:160
TWeakObjectPtr()
Definition UE.h:193
T * Get(bool bEvenIfPendingKill=false)
Definition UE.h:172
FORCEINLINE bool operator==(const TWeakObjectPtr< T > &__that) const
Definition UE.h:187
FORCEINLINE operator bool()
Definition UE.h:177
FORCEINLINE operator T*()
Definition UE.h:182
FORCEINLINE T * operator->()
Definition UE.h:167
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:574
void GenerateDeterministicGuid()
Definition UE.h:450
FGuid & BlueprintGuidField()
Definition UE.h:446
TSubclassOf< UObject > & GeneratedClassField()
Definition UE.h:443
bool & bLegacyGeneratedClassIsAuthoritativeField()
Definition UE.h:445
TSubclassOf< UObject > & SkeletonGeneratedClassField()
Definition UE.h:442
bool & bLegacyNeedToPurgeSkelRefsField()
Definition UE.h:444
TArray< UActorComponent * > ComponentTemplatesField()
Definition UE.h:457
UObject * PRIVATE_InnermostPreviousCDOField()
Definition UE.h:456
void TagSubobjects(EObjectFlags NewFlags)
Definition UE.h:466
bool NeedsLoadForServer()
Definition UE.h:465
bool NeedsLoadForClient()
Definition UE.h:464
FString * GetDesc(FString *result)
Definition UE.h:463
TSubclassOf< UObject > & ParentClassField()
Definition UE.h:455
TEnumAsByte< enum EBlueprintType > & BlueprintTypeField()
Definition UE.h:458
int & BlueprintSystemVersionField()
Definition UE.h:459
char & FieldSizeField()
Definition UE.h:593
char & ByteOffsetField()
Definition UE.h:594
static void * operator new(const unsigned __int64 InSize, UObject *InOuter, FName InName, EObjectFlags InSetFlags)
Definition UE.h:600
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:605
FString * GetCPPType(FString *result, FString *ExtendedTypeText, unsigned int CPPExportFlags)
Definition UE.h:603
bool Identical(const void *A, const void *B, unsigned int PortFlags)
Definition UE.h:606
void ClearValueInternal(void *Data)
Definition UE.h:608
char & ByteMaskField()
Definition UE.h:595
void CopyValuesInternal(void *Dest, const void *Src, int Count)
Definition UE.h:607
int GetMinAlignment()
Definition UE.h:602
void SetBoolSize(const unsigned int InSize, const bool bIsNativeBool, const unsigned int InBitMask)
Definition UE.h:601
char & FieldMaskField()
Definition UE.h:596
FString * GetCPPMacroType(FString *result, FString *ExtendedTypeText)
Definition UE.h:604
Definition UE.h:399
bool ImplementsInterface(UClass *SomeInterface)
Definition UE.h:431
void SetSuperStruct(UStruct *NewSuperStruct)
Definition UE.h:430
UObject * GetDefaultSubobjectByName(FName ToFind)
Definition UE.h:418
void AssembleReferenceTokenStream()
Definition UE.h:437
FString * GetConfigName(FString *result)
Definition UE.h:435
TArray< FNativeFunctionLookup > & NativeFunctionLookupTableField()
Definition UE.h:411
unsigned int & ClassFlagsField()
Definition UE.h:400
FName * GetDefaultObjectName(FName *result)
Definition UE.h:421
void GetDefaultObjectSubobjects(TArray< UObject * > *OutDefaultSubobjects)
Definition UE.h:419
void Bind()
Definition UE.h:425
void PostLoad()
Definition UE.h:429
void PostInitProperties()
Definition UE.h:417
unsigned int EmitStructArrayBegin(int Offset, FName *DebugName, int Stride)
Definition UE.h:436
int & ClassUniqueField()
Definition UE.h:402
unsigned __int64 & ClassCastFlagsField()
Definition UE.h:401
const wchar_t * GetPrefixCPP()
Definition UE.h:426
bool HasProperty(UProperty *InProperty)
Definition UE.h:433
FString * GetDescription(FString *result)
Definition UE.h:427
FName & ClassConfigNameField()
Definition UE.h:406
bool & bCookedField()
Definition UE.h:409
UObject * CreateDefaultObject()
Definition UE.h:420
UObject * ClassDefaultObjectField()
Definition UE.h:408
bool Rename(const wchar_t *InName, UObject *NewOuter, unsigned int Flags)
Definition UE.h:423
void PurgeClass(bool bRecompilingOnLoad)
Definition UE.h:432
bool & bIsGameClassField()
Definition UE.h:405
void FinishDestroy()
Definition UE.h:428
TArray< UField * > NetFieldsField()
Definition UE.h:407
TMap< FName, UFunction * > FuncMapField()
Definition UE.h:410
UFunction * FindFunctionByName(FName InName, EIncludeSuperFlag::Type IncludeSuper)
Definition UE.h:434
void AddFunctionToFunctionMap(UFunction *NewFunction)
Definition UE.h:416
UObject * ClassGeneratedByField()
Definition UE.h:404
void DeferredRegister(UClass *UClassStaticClass, const wchar_t *PackageName, const wchar_t *Name)
Definition UE.h:422
UObject * GetDefaultObject(bool bCreateIfNeeded)
Definition UE.h:415
UClass * ClassWithinField()
Definition UE.h:403
void TagSubobjects(EObjectFlags NewFlags)
Definition UE.h:424
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:550
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:558
TRemoveCV< T >::Type Type
Definition Decay.h:14
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
UClass * GetOwnerClass()
Definition UE.h:348
void AddCppProperty(UProperty *Property)
Definition UE.h:351
UStruct * GetOwnerStruct()
Definition UE.h:349
void PostLoad()
Definition UE.h:350
UField * NextField()
Definition UE.h:344
Definition Base.h:215
unsigned __int16 ParmsSize
Definition UE.h:385
char NumParms
Definition UE.h:384
unsigned __int16 ReturnValueOffset
Definition UE.h:386
UProperty * FirstPropertyToInit
Definition UE.h:389
unsigned int FunctionFlags
Definition UE.h:382
unsigned __int16 RPCId
Definition UE.h:387
unsigned __int16 RepOffset
Definition UE.h:383
unsigned __int16 RPCResponseId
Definition UE.h:388
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:570
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:562
FNavigationFilterFlags IncludeFlags
Definition UE.h:861
TArray< FNavigationFilterArea > Areas
Definition UE.h:860
FNavigationFilterFlags ExcludeFlags
Definition UE.h:862
double GetFloatingPointPropertyValue(void const *Data)
Definition UE.h:587
__int64 GetSignedIntPropertyValue(void const *Data)
Definition UE.h:586
unsigned __int64 GetUnsignedIntPropertyValue(void const *Data)
Definition UE.h:588
void DeferredRegister(UClass *UClassStaticClass, const wchar_t *PackageName, const wchar_t *InName)
Definition UE.h:283
bool IsValidLowLevel()
Definition UE.h:284
FName & NameField()
Definition UE.h:278
UClass * ClassField()
Definition UE.h:277
bool IsValidLowLevelFast(bool bRecursive)
Definition UE.h:285
int & InternalIndexField()
Definition UE.h:276
UObject * OuterField()
Definition UE.h:279
void Register(const wchar_t *PackageName, const wchar_t *InName)
Definition UE.h:287
EObjectFlags & ObjectFlagsField()
Definition UE.h:275
static void EmitBaseReferences(UClass *RootClass)
Definition UE.h:286
void * GetInterfaceAddress(UClass *InterfaceClass)
Definition UE.h:300
int GetLinkerUE4Version()
Definition UE.h:292
FString * GetFullName(FString *result, UObject *StopOuter)
Definition UE.h:296
bool IsA(UClass *SomeBase)
Definition UE.h:299
void GetPathName(UObject *StopOuter, FString *ResultString)
Definition UE.h:295
bool IsDefaultSubobject()
Definition UE.h:301
int GetLinkerIndex()
Definition UE.h:302
FString * GetPathName(FString *result, UObject *StopOuter)
Definition UE.h:294
int GetLinkerLicenseeUE4Version()
Definition UE.h:293
void MarkPackageDirty()
Definition UE.h:297
bool IsIn(UObject *SomeOuter)
Definition UE.h:298
Definition UE.h:306
bool Modify(bool bAlwaysMarkDirty)
Definition UE.h:325
UFunction * FindFunctionChecked(FName InName)
Definition UE.h:336
void LoadConfig(UClass *ConfigClass, const wchar_t *InFilename, unsigned int PropagationFlags, UProperty *PropertyToLoad)
Definition UE.h:331
bool IsInBlueprint()
Definition UE.h:315
bool IsSelected()
Definition UE.h:326
__declspec(dllexport) UProperty *FindProperty(FName name)
bool IsNameStableForNetworking()
Definition UE.h:333
FString * GetDetailedInfoInternal(FString *result)
Definition UE.h:312
bool IsFullNameStableForNetworking()
Definition UE.h:334
void CollectDefaultSubobjects(TArray< UObject * > *OutSubobjectArray, bool bIncludeNestedSubobjects)
Definition UE.h:327
bool IsSupportedForNetworking()
Definition UE.h:335
static UObject * GetArchetypeFromRequiredInfo(UClass *Class, UObject *Outer, FName Name, bool bIsCDO)
Definition UE.h:338
UObject * GetArchetype()
Definition UE.h:313
void BeginDestroy()
Definition UE.h:319
bool AreAllOuterObjectsValid()
Definition UE.h:310
bool IsBasedOnArchetype(UObject *const SomeObject)
Definition UE.h:314
FName * GetExporterName(FName *result)
Definition UE.h:311
static UClass * GetPrivateStaticClass()
Definition UE.h:307
bool CheckDefaultSubobjectsInternal()
Definition UE.h:328
void LocalizeProperty(UObject *LocBase, TArray< FString > *PropertyTagChain, UProperty *const BaseProperty, UProperty *const Property, void *const ValueAddress)
Definition UE.h:318
bool ConditionalFinishDestroy()
Definition UE.h:323
FString * GetDetailedInfo(FString *result)
Definition UE.h:321
bool IsAsset()
Definition UE.h:329
void ProcessEvent(UFunction *Function, void *Parms)
Definition UE.h:337
void ConditionalPostLoad()
Definition UE.h:324
void FinishDestroy()
Definition UE.h:320
bool Rename(const wchar_t *InName, UObject *NewOuter, unsigned int Flags)
Definition UE.h:316
bool ConditionalBeginDestroy()
Definition UE.h:322
void ConditionalShutdownAfterError()
Definition UE.h:332
void LoadLocalized(UObject *LocBase, bool bLoadHierachecally)
Definition UE.h:317
static UClass * StaticClass()
Definition UE.h:308
void ExecuteUbergraph(int EntryPoint)
Definition UE.h:309
bool IsSafeForRootSet()
Definition UE.h:330
UClass * PropertyClassField()
Definition UE.h:523
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:547
Definition Other.h:211
UPrimalGameData * PrimalGameDataOverrideField()
Definition GameMode.h:878
UPrimalGameData * PrimalGameDataField()
Definition GameMode.h:877
FPrimalPlayerDataStruct * MyDataField()
Definition Actor.h:5507
void CopySingleValueFromScriptVM(void *Dest, const void *Src)
Definition UE.h:486
UProperty * NextRefField()
Definition UE.h:478
bool Identical(const void *A, const void *B, unsigned int PortFlags)
Definition UE.h:484
bool ExportText_Direct(FString *ValueStr, const void *Data, const void *Delta, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:492
FString * GetCPPMacroType(FString *result, FString *ExtendedTypeText)
Definition UE.h:491
bool Identical_InContainer(const void *A, const void *B, int ArrayIndex, unsigned int PortFlags)
Definition UE.h:489
FName & RepNotifyFuncField()
Definition UE.h:475
void Set(UObject *object, T value)
Definition UE.h:509
UProperty * PropertyLinkNextField()
Definition UE.h:477
int & ArrayDimField()
Definition UE.h:471
UProperty * DestructorLinkNextField()
Definition UE.h:479
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:485
bool ShouldPort(unsigned int PortFlags)
Definition UE.h:494
bool ShouldDuplicateValue()
Definition UE.h:490
FName * GetID(FName *result)
Definition UE.h:495
int & ElementSizeField()
Definition UE.h:472
T Get(UObject *object)
Definition UE.h:499
unsigned __int64 & PropertyFlagsField()
Definition UE.h:473
void CopyCompleteValueFromScriptVM(void *Dest, const void *Src)
Definition UE.h:487
UProperty * PostConstructLinkNextField()
Definition UE.h:480
bool SameType(UProperty *Other)
Definition UE.h:496
bool IsLocalized()
Definition UE.h:493
FString * GetCPPType(FString *result, FString *ExtendedTypeText, unsigned int CPPExportFlags)
Definition UE.h:488
int & Offset_InternalField()
Definition UE.h:476
unsigned __int16 & RepIndexField()
Definition UE.h:474
FVector * GetWorldLocation(FVector *result)
Definition Actor.h:523
Definition UE.h:355
void FinishDestroy()
Definition UE.h:375
UProperty * PropertyLinkField()
Definition UE.h:361
void TagSubobjects(EObjectFlags NewFlags)
Definition UE.h:377
bool IsChildOf(UStruct *SomeBase)
Definition UE.h:369
UProperty * RefLinkField()
Definition UE.h:362
void LinkChild(UProperty *Property)
Definition UE.h:371
int & PropertiesSizeField()
Definition UE.h:358
int & MinAlignmentField()
Definition UE.h:360
UProperty * PostConstructLinkField()
Definition UE.h:364
void StaticLink(bool bRelinkExistingProperties)
Definition UE.h:374
void RegisterDependencies()
Definition UE.h:373
const wchar_t * GetPrefixCPP()
Definition UE.h:372
void SetSuperStruct(UStruct *NewSuperStruct)
Definition UE.h:376
UField * StaticClass()
Definition UE.h:370
UProperty * DestructorLinkField()
Definition UE.h:363
TArray< unsigned char > & ScriptField()
Definition UE.h:359
UField * ChildrenField()
Definition UE.h:357
TArray< UObject * > ScriptObjectReferencesField()
Definition UE.h:365
UStruct * SuperStructField()
Definition UE.h:356
UScriptStruct * StructField()
Definition UE.h:528
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:529
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:554
static UClass * StaticClass()
Definition UE.h:823
int & SizeY_DEPRECATED()
Definition UE.h:830
float GetSurfaceHeight()
Definition UE.h:828
FTextureResource * CreateResource()
Definition UE.h:826
__int64 GetResourceSize(EResourceSizeMode type)
Definition UE.h:827
void GetMipData(int FirstMipToLoad, void **OutMipData)
Definition UE.h:824
void UpdateResourceW()
Definition UE.h:825
int & SizeX_DEPRECATED()
Definition UE.h:829
Definition UE.h:817
static UClass * StaticClass()
Definition UE.h:818
static TArray< AActor * > * ServerOctreeOverlapActors(TArray< AActor * > *result, UWorld *theWorld, FVector AtLoc, float Radius, EServerOctreeGroup::Type OctreeType, bool bForceActorLocationDistanceCheck)
Definition Other.h:410
void ExportTextItem(FString *ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int PortFlags, UObject *ExportRootScope)
Definition UE.h:566
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