UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TStripedMap< BucketCount, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy > Class Template Reference

#include <StripedMap.h>

+ Inheritance diagram for TStripedMap< BucketCount, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >:

Public Types

using Super = TStripedMapBase< BucketCount, TMap< KeyType, ValueType, SetAllocator, KeyFuncs >, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >
 
- Public Types inherited from TStripedMapBase< BucketCount, BaseMapType, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >
typedef BaseMapType MapType
 
typedef BaseMapType::KeyConstPointerType KeyConstPointerType
 
typedef KeyFuncs KeyFuncsType
 

Additional Inherited Members

- Public Member Functions inherited from TStripedMapBase< BucketCount, BaseMapType, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >
ValueType FindRef (KeyConstPointerType InKey) const
 
template<typename FunctionType >
bool FindAndApply (KeyConstPointerType InKey, FunctionType &&InFunction) const
 
template<typename UpdateFunctionType >
bool FindAndApply (KeyConstPointerType InKey, UpdateFunctionType &&InUpdateFunction)
 
bool Contains (KeyConstPointerType InKey) const
 
template<typename InitKeyType = KeyType, typename InitValueType = ValueType>
void Emplace (InitKeyType &&InKey, InitValueType &&InValue)
 
void Add (const KeyType &InKey, const ValueType &InValue)
 
void Add (const KeyType &InKey, ValueType &&InValue)
 
void Add (KeyType &&InKey, const ValueType &InValue)
 
void Add (KeyType &&InKey, ValueType &&InValue)
 
template<typename ProduceFunctionType >
ValueType FindOrProduce (const KeyType &InKey, ProduceFunctionType &&InProduceFunction)
 
template<typename ProduceFunctionType , typename ApplyFunctionType >
void FindOrProduceAndApply (const KeyType &InKey, ProduceFunctionType &&InProduceFunction, ApplyFunctionType &&InApplyFunction)
 
template<typename TryProduceFunctionType , typename ApplyFunctionType >
bool FindOrTryProduceAndApply (const KeyType &InKey, TryProduceFunctionType &&InTryProduceFunction, ApplyFunctionType &&InApplyFunction)
 
template<typename ProduceFunctionType , typename ApplyFunctionType >
void FindOrProduceAndApplyForWrite (const KeyType &InKey, ProduceFunctionType &&InProduceFunction, ApplyFunctionType &&InApplyFunction)
 
template<typename TryProduceFunctionType , typename ApplyFunctionType >
bool FindOrTryProduceAndApplyForWrite (const KeyType &InKey, TryProduceFunctionType &&InTryProduceFunction, ApplyFunctionType &&InApplyFunction)
 
int32 Remove (KeyConstPointerType InKey)
 
int32 RemoveByHash (uint32 InKeyHash, KeyConstPointerType InKey)
 
template<typename PredicateType >
int32 RemoveIf (KeyConstPointerType InKey, PredicateType &&InPredicate)
 
template<typename PredicateType >
int32 RemoveIf (PredicateType &&InPredicate)
 
bool RemoveAndCopyValue (KeyConstPointerType InKey, ValueType &OutRemovedValue)
 
ValueType FindAndRemoveChecked (KeyConstPointerType InKey)
 
void Empty ()
 
void Reset ()
 
void Shrink ()
 
void Compact ()
 
int32 Num () const
 
template<typename FunctionType >
void ForEach (FunctionType &&InFunction)
 
template<typename FunctionType >
void ForEach (FunctionType &&InFunction) const
 
template<typename Allocator >
int32 GetKeys (TArray< KeyType, Allocator > &OutKeys) const
 
- Protected Types inherited from TStripedMapBase< BucketCount, BaseMapType, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >
typedef LockingPolicy::MutexType MutexType
 
typedef LockingPolicy::ExclusiveLockType ExclusiveLockType
 
typedef LockingPolicy::SharedLockType SharedLockType
 
- Protected Member Functions inherited from TStripedMapBase< BucketCount, BaseMapType, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >
uint32 GetBucketIndex (uint32 Hash) const
 
template<typename FunctionType >
decltype(autoApplyUnlockedByHash (uint32 InHash, FunctionType &&InFunction)
 
template<typename FunctionType >
decltype(autoApplyUnlocked (KeyConstPointerType InKey, FunctionType &&InFunction)
 
template<typename LockType , typename FunctionType >
decltype(autoApplyByHash (uint32 InHash, FunctionType &&InFunction) const
 
template<typename LockType , typename FunctionType >
decltype(autoApply (KeyConstPointerType InKey, FunctionType &&InFunction) const
 
template<typename LockType , typename FunctionType >
decltype(autoApplyByHash (uint32 InHash, FunctionType &&InFunction)
 
template<typename LockType , typename FunctionType >
decltype(autoApply (KeyConstPointerType InKey, FunctionType &&InFunction)
 
template<typename FunctionType >
decltype(autoWrite (KeyConstPointerType InKey, FunctionType &&InFunction)
 
template<typename FunctionType >
decltype(autoWriteByHash (uint32 InHash, KeyConstPointerType InKey, FunctionType &&InFunction)
 
template<typename FunctionType >
decltype(autoRead (KeyConstPointerType InKey, FunctionType &&InFunction)
 
template<typename FunctionType >
decltype(autoReadByHash (uint32 InHash, KeyConstPointerType InKey, FunctionType &&InFunction)
 
template<typename FunctionType >
decltype(autoRead (KeyConstPointerType InKey, FunctionType &&InFunction) const
 
template<typename FunctionType >
decltype(autoReadByHash (uint32 InHash, KeyConstPointerType InKey, FunctionType &&InFunction) const
 
template<typename FunctionType >
void ForEachMap (FunctionType &&InFunction)
 
template<typename FunctionType >
void ForEachMap (FunctionType &&InFunction) const
 
- Protected Attributes inherited from TStripedMapBase< BucketCount, BaseMapType, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >
struct TStripedMapBase::FBucket Buckets [BucketCount]
 

Detailed Description

template<int32 BucketCount, typename KeyType, typename ValueType, typename SetAllocator = FDefaultSetAllocator, typename KeyFuncs = TDefaultMapHashableKeyFuncs<KeyType, ValueType, false>, typename LockingPolicy = FDefaultStripedMapLockingPolicy>
class TStripedMap< BucketCount, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >

A wrapper over a TMap class with additional thread-safety guarantees and contention reduction.

Member Typedef Documentation

◆ Super

template<int32 BucketCount, typename KeyType , typename ValueType , typename SetAllocator = FDefaultSetAllocator, typename KeyFuncs = TDefaultMapHashableKeyFuncs<KeyType, ValueType, false>, typename LockingPolicy = FDefaultStripedMapLockingPolicy>
using TStripedMap< BucketCount, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy >::Super = TStripedMapBase<BucketCount, TMap<KeyType, ValueType, SetAllocator, KeyFuncs>, KeyType, ValueType, SetAllocator, KeyFuncs, LockingPolicy>

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