UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TSQMap< TKey, TValue > Class Template Reference

#include <ISpatialAcceleration.h>

Public Types

using ElementType = TValue
 
using PairType = SQMapKeyWithValue< TKey, TValue >
 

Public Member Functions

SIZE_T GetAllocatedSize () const
 
int32 Num () const
 
int32 Capacity () const
 
void Reserve (int32 NumToReserve)
 
void ResizeHashBuckets (uint32 NewSize)
 
TValue * Find (const TKey &Key)
 
const TValue * Find (const TKey &Key) const
 
TValue & FindChecked (const TKey &Key)
 
const TValue & FindChecked (const TKey &Key) const
 
TValue & FindOrAdd (const TKey &Key)
 
void Empty ()
 
FORCEINLINE TValue & Add (const TKey &Key)
 
FORCEINLINE TValue & Add (uint32 InHash, const TKey &Key)
 
void Add (const TKey &Key, const TValue &Value)
 
void RemoveChecked (const TKey &Key)
 
void Remove (const TKey &Key)
 
void Reset ()
 
FORCEINLINE int32 FindIndex (const TKey &Key) const
 
FORCEINLINE int32 FindIndex (uint32 InHash, int32 UniqueIndex) const
 
void Serialize (FChaosArchive &Ar)
 
void AddFrom (const TSQMap< TKey, TValue > &Source, int32 SourceIndex)
 

Static Public Member Functions

static constexpr uint32 GetTypeSize ()
 

Public Attributes

TArray< PairTypeElements
 
FSQHashTable HashTable
 

Detailed Description

template<typename TKey, typename TValue>
class Chaos::TSQMap< TKey, TValue >

Map structure using FHashTable as a base store for payload data FHashTable is a fast, limited API map that requires some management. In this case as we already have unique values we can just mix the bits to get a reasonable distribution (the calls to MurmurFinalize32).

Member Typedef Documentation

◆ ElementType

template<typename TKey , typename TValue >
using Chaos::TSQMap< TKey, TValue >::ElementType = TValue

◆ PairType

template<typename TKey , typename TValue >
using Chaos::TSQMap< TKey, TValue >::PairType = SQMapKeyWithValue<TKey, TValue>

Member Function Documentation

◆ Add() [1/3]

template<typename TKey , typename TValue >
FORCEINLINE TValue & Chaos::TSQMap< TKey, TValue >::Add ( const TKey &  Key)
inline

◆ Add() [2/3]

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::Add ( const TKey &  Key,
const TValue &  Value 
)
inline

◆ Add() [3/3]

template<typename TKey , typename TValue >
FORCEINLINE TValue & Chaos::TSQMap< TKey, TValue >::Add ( uint32  InHash,
const TKey &  Key 
)
inline

◆ AddFrom()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::AddFrom ( const TSQMap< TKey, TValue > &  Source,
int32  SourceIndex 
)
inline

◆ Capacity()

template<typename TKey , typename TValue >
int32 Chaos::TSQMap< TKey, TValue >::Capacity ( ) const
inline

◆ Empty()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::Empty ( )
inline

◆ Find() [1/2]

template<typename TKey , typename TValue >
TValue * Chaos::TSQMap< TKey, TValue >::Find ( const TKey &  Key)
inline

◆ Find() [2/2]

template<typename TKey , typename TValue >
const TValue * Chaos::TSQMap< TKey, TValue >::Find ( const TKey &  Key) const
inline

◆ FindChecked() [1/2]

template<typename TKey , typename TValue >
TValue & Chaos::TSQMap< TKey, TValue >::FindChecked ( const TKey &  Key)
inline

◆ FindChecked() [2/2]

template<typename TKey , typename TValue >
const TValue & Chaos::TSQMap< TKey, TValue >::FindChecked ( const TKey &  Key) const
inline

◆ FindIndex() [1/2]

template<typename TKey , typename TValue >
FORCEINLINE int32 Chaos::TSQMap< TKey, TValue >::FindIndex ( const TKey &  Key) const
inline

◆ FindIndex() [2/2]

template<typename TKey , typename TValue >
FORCEINLINE int32 Chaos::TSQMap< TKey, TValue >::FindIndex ( uint32  InHash,
int32  UniqueIndex 
) const
inline

◆ FindOrAdd()

template<typename TKey , typename TValue >
TValue & Chaos::TSQMap< TKey, TValue >::FindOrAdd ( const TKey &  Key)
inline

◆ GetAllocatedSize()

template<typename TKey , typename TValue >
SIZE_T Chaos::TSQMap< TKey, TValue >::GetAllocatedSize ( ) const
inline

◆ GetTypeSize()

template<typename TKey , typename TValue >
static constexpr uint32 Chaos::TSQMap< TKey, TValue >::GetTypeSize ( )
inlinestaticconstexpr

◆ Num()

template<typename TKey , typename TValue >
int32 Chaos::TSQMap< TKey, TValue >::Num ( ) const
inline

◆ Remove()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::Remove ( const TKey &  Key)
inline

◆ RemoveChecked()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::RemoveChecked ( const TKey &  Key)
inline

◆ Reserve()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::Reserve ( int32  NumToReserve)
inline

◆ Reset()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::Reset ( )
inline

◆ ResizeHashBuckets()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::ResizeHashBuckets ( uint32  NewSize)
inline

◆ Serialize()

template<typename TKey , typename TValue >
void Chaos::TSQMap< TKey, TValue >::Serialize ( FChaosArchive Ar)
inline

Member Data Documentation

◆ Elements

template<typename TKey , typename TValue >
TArray<PairType> Chaos::TSQMap< TKey, TValue >::Elements

◆ HashTable

template<typename TKey , typename TValue >
FSQHashTable Chaos::TSQMap< TKey, TValue >::HashTable

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