![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <IndexedHandle.h>
Inheritance diagram for FIndexedHandleManagerBase< TIndexedHandle, TIndexType, TSerialType, bOptimizeHandleReuse >:Public Member Functions | |
| FIndexedHandleManagerBase () | |
| TIndexedHandle | GetNextHandle () |
| bool | RemoveHandle (TIndexedHandle IndexedHandle) |
| bool | IsValidHandle (TIndexedHandle IndexedHandle) const |
| const TArray< TIndexedHandle > & | GetHandles () const |
| int32 | CalcNumUsedHandles () const |
| FIndexedHandleManagerBase (const FIndexedHandleManagerBase &Other)=default | |
| FIndexedHandleManagerBase & | operator= (const FIndexedHandleManagerBase &Other) |
| int32 | ShrinkHandles () |
| void | Reset () |
Protected Types | |
| typedef TArray< TIndexedHandle > | FHandleArray |
Protected Attributes | |
| FHandleArray | Handles |
| TArray< TIndexType > | FreeHandleIndices |
| uint32 | ManagerID = 0 |
Static Protected Attributes | |
| static std::atomic< TSerialType > | SerialNumberCounter = { 0 } |
| static std::atomic< uint32 > | ManagerIDCounter = { 0 } |
Handle Manager meant for FIndexedHandleBase and FCompactIndexedHandleBase derived classes, handles are given out from a freelist and are zero based and consecutive in nature, so ideal for being used as indices in to arrays. Using bOptimizeHandleReuse performance impact on releasing a handle. Because new handles will always use the smallest index, this will help greatly the compaction code(ShrinkHandles) and reduce the total number of handles. This is very useful when you need to iterate through every valid handles often.
|
protected |
|
inline |
|
inline |
returns the number of used handles, will be greater than or equal to zero
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Attempts to shrink the Handles array if there are contiguous free slots at the end of the Array
|
protected |
|
protected |
Handles stored as a free list sparse array, Handle entries that are free will have a GetIndex() == INDEX_NONE
|
protected |
|
staticprotected |
ID used in non shipping / test builds to ensure the same manager that is used to create handles is also used to remove them
|
staticprotected |