Warnings
refcounts are 16-bit ints (shorts) so the maximum count is 65536. behavior is undefined if this overflows.
No overflow checking is done in release builds.
Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/GeometricObjects/Public/Util/RefCountVector.h |
Include |
#include "Util/RefCountVector.h" |
class FRefCountVector
FRefCountVector is used to keep track of which indices in a linear Index list are in use/referenced. A free list is tracked so that unreferenced indices can be re-used.
The enumerator iterates over valid indices (ie where refcount > 0)
refcounts are 16-bit ints (shorts) so the maximum count is 65536. behavior is undefined if this overflows.
No overflow checking is done in release builds.
Name | Description | |
---|---|---|
|
FRefCountVector() |
|
|
FRefCountVector ( |
|
|
FRefCountVector ( |
Name | Description | ||
---|---|---|---|
|
int |
Allocate() |
|
|
AllocateAt ( |
Allocate at specific Index, which must either be larger than current max Index, or on the free list. |
|
|
AllocateAtUnsafe ( |
Allocate at specific Index, which must be free or larger than current max Index. |
|
|
IndexIterato... |
BeginIndices() |
|
|
Decrement ( |
||
|
IndexIterato... |
EndIndices() |
|
|
FilteredEnum... |
FilteredIndices |
|
|
size_t |
GetCount() |
|
|
size_t |
GetMaxIndex() |
|
|
int |
GetRawRefCount ( |
|
|
const TDynam... |
GetRawRefCounts() |
|
|
TDynamicVect... |
GetRawRefCountsUnsafe() |
You should not use this! |
|
int |
GetRefCount ( |
|
|
int |
Increment ( |
|
|
IndexEnumera... |
Indices() |
Returns iteration object over valid indices usage: for (int idx : indices()) { ... } |
|
IsDense() |
||
|
IsEmpty() |
||
|
IsValid ( |
||
|
IsValidUnsafe ( |
||
|
MappedEnumer... |
MappedIndices ( |
Returns iteration object over mapping applied to valid indices eg usage: for (FVector3d v : mapped_indices(fn_that_looks_up_mesh_vtx_from_id)) { ... } |
|
RebuildFreeList() |
Todo: remove clear |
|
|
SetRefCountUnsafe ( |
You should not use this! |
|
|
Trim ( |
||
|
UsageStats() |
Name | Description | ||
---|---|---|---|
|
FRefCountVec... |
operator= ( |
|
|
FRefCountVec... |
operator= ( |
Name |
Description |
|
---|---|---|
|
BaseIterator |
Iterators base iterator for indices with valid refcount (skips zero-refcount indices) |
|
FilteredEnumerable |
Iteration object that maps indices output by Index_iteration to a second type |
|
IndexEnumerable |
Enumerable object that provides begin()/end() semantics, so you can iterate over valid indices using range-based for loop |
|
IndexIterator |
Iterator over valid indices (ie non-zero refcount) |
|
MappedEnumerable |
Enumerable object that maps indices output by Index_iteration to a second type |
Name |
Description |
---|---|
INVALID_REF_COUNT |