Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > Class Template Reference

#include <Map.h>

Inherits TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >.

Inherited by TMap< FString, FConfigSection >, TMap< int32, FString >, TMap< FString, TSharedPtr< TTypeContainer::IInstanceProvider > >, TMap< FString, TSharedRef< FAutomationSpecBase::FSpec > >, TMap< FString, FAutomationTestBase * >, TMap< FString, const FColor * >, TMap< FName, struct ICompressionFormat * >, TMap< FString, FConfigFile * >, TMap< FString, FConfigContext::FPerPlatformDirs >, TMap< FString, TMap< FName, FString > >, TMap< FName, FString >, TMap< FString, IConsoleObject * >, TMap< FString, TArray< FString > >, TMap< FString, TArray< uint8 > >, TMap< FString, FString >, TMap< FName, FEmbeddedCommunicationParamsDelegate >, TMap< FString, void * >, TMap< FGuid, FGuid >, TMap< FGuid, FOpParameters >, TMap< FString, SIZE_T >, TMap< FGuid, FNamedAESKey >, TMap< FString, FDateTime >, TMap< FString, int32 >, TMap< FMallocCallstackHandler::FCallStackMapKey, int32 >, TMap< const void *const, FMallocDoubleFreeFinder::TrackedAllocationData >, TMap< void *, int32 >, TMap< FString, FManagedStorageFileLockRegistry::FLockData >, TMap< FName, TArray< FName > >, TMap< FIoChunkId, FIoHash >, TMap< FString, TArray< FName > >, TMap< FString, int64 >, TMap< FString, TSharedPtr< FPreloadableFile > >, TMap< IQueuedWork *, FQueuedThreadPoolWrapper::FScheduledWork * >, TMap< FString, FRemoteConfigAsyncIOInfo >, TMap< FString, FAsyncTask< FRemoteConfigAsyncWorker > * >, TMap< FString, uint8 * >, TMap< FString, FTokenFunctionHandler >, TMap< FOperatorFunctionID, FUnaryFunction >, TMap< FOperatorFunctionID, FBinaryFunction >, TMap< FOperatorFunctionID, FShortCircuit >, TMap< FTextId, FDisplayStringEntry >, TMap< FTextId, uint16 >, TMap< uint32, FThreadHeartBeat::FHeartBeatInfo >, TMap< FName, FThreadHeartBeat::FHeartBeatInfo >, TMap< uint32, FRunnableThread *, TInlineSetAllocator< 256 > >, TMap< FName, TArray< FString > >, TMap< int32, TGenericGrowableAllocator::AllocationInfo >, TMap< uint64, uint32 >, TMap< const FString, const TArray< FString > >, and TMultiMap< KeyType, ValueType, SetAllocator, KeyFuncs >.

+ Collaboration diagram for TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >:

Classes

class  FKeyComparisonClass
 
class  FValueComparisonClass
 

Public Member Functions

template<typename PREDICATE_CLASS >
FORCEINLINE void KeySort (const PREDICATE_CLASS &Predicate)
 
template<typename PREDICATE_CLASS >
FORCEINLINE void KeyStableSort (const PREDICATE_CLASS &Predicate)
 
template<typename PREDICATE_CLASS >
FORCEINLINE void ValueSort (const PREDICATE_CLASS &Predicate)
 
template<typename PREDICATE_CLASS >
FORCEINLINE void ValueStableSort (const PREDICATE_CLASS &Predicate)
 
void SortFreeList ()
 
- Public Member Functions inherited from TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >
bool OrderIndependentCompareEqual (const TMapBase &Other) const
 
FORCEINLINE void Empty (int32 ExpectedNumElements=0)
 
FORCEINLINE void Reset ()
 
FORCEINLINE void Shrink ()
 
FORCEINLINE void Compact ()
 
FORCEINLINE void CompactStable ()
 
FORCEINLINE void Reserve (int32 Number)
 
bool IsEmpty () const
 
FORCEINLINE int32 Num () const
 
template<typename Allocator >
int32 GetKeys (TArray< KeyType, Allocator > &OutKeys) const
 
template<typename Allocator >
int32 GetKeys (TSet< KeyType, Allocator > &OutKeys) const
 
FORCEINLINE SIZE_T GetAllocatedSize () const
 
FORCEINLINE void CountBytes (FArchive &Ar) const
 
FORCEINLINE ValueType & Add (const KeyType &InKey, const ValueType &InValue)
 
FORCEINLINE ValueType & Add (const KeyType &InKey, ValueType &&InValue)
 
FORCEINLINE ValueType & Add (KeyType &&InKey, const ValueType &InValue)
 
FORCEINLINE ValueType & Add (KeyType &&InKey, ValueType &&InValue)
 
FORCEINLINE ValueType & AddByHash (uint32 KeyHash, const KeyType &InKey, const ValueType &InValue)
 
FORCEINLINE ValueType & AddByHash (uint32 KeyHash, const KeyType &InKey, ValueType &&InValue)
 
FORCEINLINE ValueType & AddByHash (uint32 KeyHash, KeyType &&InKey, const ValueType &InValue)
 
FORCEINLINE ValueType & AddByHash (uint32 KeyHash, KeyType &&InKey, ValueType &&InValue)
 
FORCEINLINE ValueType & Add (const KeyType &InKey)
 
FORCEINLINE ValueType & Add (KeyType &&InKey)
 
FORCEINLINE ValueType & AddByHash (uint32 KeyHash, const KeyType &InKey)
 
FORCEINLINE ValueType & AddByHash (uint32 KeyHash, KeyType &&InKey)
 
FORCEINLINE ValueType & Add (const TTuple< KeyType, ValueType > &InKeyValue)
 
FORCEINLINE ValueType & Add (TTuple< KeyType, ValueType > &&InKeyValue)
 
template<typename InitKeyType = KeyType, typename InitValueType = ValueType>
ValueType & Emplace (InitKeyType &&InKey, InitValueType &&InValue)
 
template<typename InitKeyType = KeyType, typename InitValueType = ValueType>
ValueType & EmplaceByHash (uint32 KeyHash, InitKeyType &&InKey, InitValueType &&InValue)
 
template<typename InitKeyType = KeyType>
ValueType & Emplace (InitKeyType &&InKey)
 
template<typename InitKeyType = KeyType>
ValueType & EmplaceByHash (uint32 KeyHash, InitKeyType &&InKey)
 
FORCEINLINE int32 Remove (KeyConstPointerType InKey)
 
template<typename ComparableKey >
FORCEINLINE int32 RemoveByHash (uint32 KeyHash, const ComparableKey &Key)
 
const KeyType * FindKey (ValueInitType Value) const
 
template<typename Predicate >
TMap< KeyType, ValueType > FilterByPredicate (Predicate Pred) const
 
FORCEINLINE ValueType * Find (KeyConstPointerType Key)
 
FORCEINLINE const ValueType * Find (KeyConstPointerType Key) const
 
template<typename ComparableKey >
FORCEINLINE ValueType * FindByHash (uint32 KeyHash, const ComparableKey &Key)
 
template<typename ComparableKey >
FORCEINLINE const ValueType * FindByHash (uint32 KeyHash, const ComparableKey &Key) const
 
FORCEINLINE ValueType & FindOrAdd (const KeyType &Key)
 
FORCEINLINE ValueType & FindOrAdd (KeyType &&Key)
 
FORCEINLINE ValueType & FindOrAddByHash (uint32 KeyHash, const KeyType &Key)
 
FORCEINLINE ValueType & FindOrAddByHash (uint32 KeyHash, KeyType &&Key)
 
FORCEINLINE ValueType & FindOrAdd (const KeyType &Key, const ValueType &Value)
 
FORCEINLINE ValueType & FindOrAdd (const KeyType &Key, ValueType &&Value)
 
FORCEINLINE ValueType & FindOrAdd (KeyType &&Key, const ValueType &Value)
 
FORCEINLINE ValueType & FindOrAdd (KeyType &&Key, ValueType &&Value)
 
FORCEINLINE ValueType & FindOrAddByHash (uint32 KeyHash, const KeyType &Key, const ValueType &Value)
 
FORCEINLINE ValueType & FindOrAddByHash (uint32 KeyHash, const KeyType &Key, ValueType &&Value)
 
FORCEINLINE ValueType & FindOrAddByHash (uint32 KeyHash, KeyType &&Key, const ValueType &Value)
 
FORCEINLINE ValueType & FindOrAddByHash (uint32 KeyHash, KeyType &&Key, ValueType &&Value)
 
FORCEINLINE const ValueType & FindChecked (KeyConstPointerType Key) const
 
FORCEINLINE ValueType & FindChecked (KeyConstPointerType Key)
 
FORCEINLINE ValueType FindRef (KeyConstPointerType Key) const
 
FORCEINLINE bool Contains (KeyConstPointerType Key) const
 
template<typename ComparableKey >
FORCEINLINE bool ContainsByHash (uint32 KeyHash, const ComparableKey &Key) const
 
TArray< ElementTypeArray () const
 
template<typename Allocator >
void GenerateKeyArray (TArray< KeyType, Allocator > &OutArray) const
 
template<typename Allocator >
void GenerateValueArray (TArray< ValueType, Allocator > &OutArray) const
 
void Dump (FOutputDevice &Ar)
 
void WriteMemoryImage (FMemoryImageWriter &Writer) const
 
void CopyUnfrozen (const FMemoryUnfreezeContent &Context, void *Dst) const
 
FORCEINLINE TIterator CreateIterator ()
 
FORCEINLINE TConstIterator CreateConstIterator () const
 
FORCEINLINE TKeyIterator CreateKeyIterator (typename TKeyIterator::KeyArgumentType InKey)
 
FORCEINLINE TConstKeyIterator CreateConstKeyIterator (typename TConstKeyIterator::KeyArgumentType InKey) const
 
FORCEINLINE TRangedForIterator begin ()
 
FORCEINLINE TRangedForConstIterator begin () const
 
FORCEINLINE TRangedForIterator end ()
 
FORCEINLINE TRangedForConstIterator end () const
 

Protected Types

typedef TMapBase< KeyType, ValueType, SetAllocator, KeyFuncsSuper
 
- Protected Types inherited from TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >
typedef TSet< ElementType, KeyFuncs, SetAllocatorElementSetType
 

Protected Member Functions

 TSortableMapBase ()=default
 
 TSortableMapBase (TSortableMapBase &&)=default
 
 TSortableMapBase (const TSortableMapBase &)=default
 
TSortableMapBaseoperator= (TSortableMapBase &&)=default
 
TSortableMapBaseoperator= (const TSortableMapBase &)=default
 
template<typename OtherSetAllocator >
 TSortableMapBase (TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
 
template<typename OtherSetAllocator >
 TSortableMapBase (const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
 
template<typename OtherSetAllocator >
TSortableMapBaseoperator= (TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
 
template<typename OtherSetAllocator >
TSortableMapBaseoperator= (const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
 
- Protected Member Functions inherited from TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >
 TMapBase ()=default
 
 TMapBase (TMapBase &&)=default
 
 TMapBase (const TMapBase &)=default
 
TMapBaseoperator= (TMapBase &&)=default
 
TMapBaseoperator= (const TMapBase &)=default
 
template<typename OtherSetAllocator >
 TMapBase (TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
 
template<typename OtherSetAllocator >
 TMapBase (const TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
 
template<typename OtherSetAllocator >
TMapBaseoperator= (TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &&Other)
 
template<typename OtherSetAllocator >
TMapBaseoperator= (const TMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > &Other)
 

Additional Inherited Members

- Public Types inherited from TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >
typedef TTypeTraits< KeyType >::ConstPointerType KeyConstPointerType
 
typedef TTypeTraits< KeyType >::ConstInitType KeyInitType
 
typedef TTypeTraits< ValueType >::ConstInitType ValueInitType
 
typedef TPair< KeyType, ValueType > ElementType
 
using TRangedForIterator = TBaseIterator<false, true>
 
using TRangedForConstIterator = TBaseIterator<true, true>
 
- Static Public Member Functions inherited from TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >
static void AppendHash (const FPlatformTypeLayoutParameters &LayoutParams, FSHA1 &Hasher)
 
- Protected Attributes inherited from TMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >
ElementSetType Pairs
 

Detailed Description

template<typename KeyType, typename ValueType, typename SetAllocator, typename KeyFuncs>
class TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >

The base type of sortable maps.

Definition at line 965 of file Map.h.

Member Typedef Documentation

◆ Super

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
typedef TMapBase<KeyType, ValueType, SetAllocator, KeyFuncs> TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::Super
protected

Definition at line 968 of file Map.h.

Constructor & Destructor Documentation

◆ TSortableMapBase() [1/5]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::TSortableMapBase ( )
protecteddefault

◆ TSortableMapBase() [2/5]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::TSortableMapBase ( TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > && )
protecteddefault

◆ TSortableMapBase() [3/5]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::TSortableMapBase ( const TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > & )
protecteddefault

◆ TSortableMapBase() [4/5]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::TSortableMapBase ( TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > && Other)
inlineprotected

Constructor for moving elements from a TMap with a different SetAllocator

Definition at line 978 of file Map.h.

◆ TSortableMapBase() [5/5]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::TSortableMapBase ( const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > & Other)
inlineprotected

Constructor for copying elements from a TMap with a different SetAllocator

Definition at line 985 of file Map.h.

Member Function Documentation

◆ KeySort()

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
FORCEINLINE void TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::KeySort ( const PREDICATE_CLASS & Predicate)
inline

Sorts the pairs array using each pair's Key as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.KeySort( PREDICATE_CLASS() );"

Definition at line 1012 of file Map.h.

◆ KeyStableSort()

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
FORCEINLINE void TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::KeyStableSort ( const PREDICATE_CLASS & Predicate)
inline

Stable sorts the pairs array using each pair's Key as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.KeySort( PREDICATE_CLASS() );"

Definition at line 1022 of file Map.h.

◆ operator=() [1/4]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase & TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::operator= ( const TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > & )
protecteddefault

◆ operator=() [2/4]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase & TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::operator= ( const TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > & Other)
inlineprotected

Assignment operator for copying elements from a TMap with a different SetAllocator

Definition at line 1000 of file Map.h.

◆ operator=() [3/4]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase & TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::operator= ( TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs > && )
protecteddefault

◆ operator=() [4/4]

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
TSortableMapBase & TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::operator= ( TSortableMapBase< KeyType, ValueType, OtherSetAllocator, KeyFuncs > && Other)
inlineprotected

Assignment operator for moving elements from a TMap with a different SetAllocator

Definition at line 992 of file Map.h.

◆ SortFreeList()

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
void TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::SortFreeList ( )
inline

Sort the free element list so that subsequent additions will occur in the lowest available TSet index resulting in tighter packing without moving any existing items. Also useful for some types of determinism.

See also
TSparseArray::SortFreeList() for more info.

Definition at line 1052 of file Map.h.

◆ ValueSort()

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
FORCEINLINE void TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::ValueSort ( const PREDICATE_CLASS & Predicate)
inline

Sorts the pairs array using each pair's Value as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.ValueSort( PREDICATE_CLASS() );"

Definition at line 1032 of file Map.h.

◆ ValueStableSort()

template<typename KeyType , typename ValueType , typename SetAllocator , typename KeyFuncs >
FORCEINLINE void TSortableMapBase< KeyType, ValueType, SetAllocator, KeyFuncs >::ValueStableSort ( const PREDICATE_CLASS & Predicate)
inline

Stable sorts the pairs array using each pair's Value as the sort criteria, then rebuilds the map's hash. Invoked using "MyMapVar.ValueSort( PREDICATE_CLASS() );"

Definition at line 1042 of file Map.h.


The documentation for this class was generated from the following file: