Navigation
API > API/Runtime > API/Runtime/MovieScene
NOTE: This class is currently considered internal only, and should only be used by engine code. A sparse bitset comprising a hash of integer indexes with set bits, and a sparse array of unsigned integers (referred to as buckets) whose width is defined by the storage.
The maximum size bitfield that is representible by this bitset is defined as sizeof(HashType)*sizeof(BucketStorage::BucketType). For example, a 64 bit hash with 32 bit buckets can represent a bitfield of upto 2048 bits.
The hash allows for empty buckets to be completely omitted from memory, and affords very fast comparison for buckets that have no set bits. This container is specialized for relatively large bitfields that have small numbers of set bits (ie, needles in haystacks) as they will provide the best memory vs CPU tradeoffs.
| Name | TFixedSparseBitSet |
| Type | struct |
| Header File | /Engine/Source/Runtime/MovieScene/Public/Containers/SparseBitSet.h |
| Include Path | #include "Containers/SparseBitSet.h" |
Syntax
template<typename HashType, typename BucketStorage>
struct TFixedSparseBitSet
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Containers/SparseBitSet.h | |||
TFixedSparseBitSet
(
StorageArgs&&... Storage |
Containers/SparseBitSet.h | ||
TFixedSparseBitSet
(
const TFixedSparseBitSet& |
Containers/SparseBitSet.h | ||
| Containers/SparseBitSet.h |
Structs
| Name | Remarks |
|---|---|
| FBitOffsets | |
| FIterator |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| BucketType | typename BucketStorage::BucketType | Containers/SparseBitSet.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| BucketSize | uint32 | Containers/SparseBitSet.h | |
| HashSize | uint32 | Containers/SparseBitSet.h | |
| MaxNumBits | uint32 | Containers/SparseBitSet.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BucketHash | HashType | Containers/SparseBitSet.h | ||
| Buckets | BucketStorage | Containers/SparseBitSet.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CopyTo
(
TFixedSparseBitSet< OtherHashType, OtherStorageType >& Other |
Containers/SparseBitSet.h | ||
void CopyToUnsafe
(
TFixedSparseBitSet< OtherHashType, OtherStorageType >& Other, |
Copy this bitset to another without resizing the destination's bucket storage. | Containers/SparseBitSet.h | |
uint32 CountSetBits() |
Containers/SparseBitSet.h | ||
uint32 GetMaxNumBits() |
Containers/SparseBitSet.h | ||
int32 GetSparseBucketIndex
(
uint32 BitIndex |
Get the sparse bucket index of the specified bit | Containers/SparseBitSet.h | |
bool IsBitSet
(
uint32 BitIndex |
Check whether the specified bit index is set | Containers/SparseBitSet.h | |
bool IsEmpty() |
Containers/SparseBitSet.h | ||
uint32 NumBuckets() |
Count the number of buckets in this bitset | Containers/SparseBitSet.h | |
ESparseBitSetBitResult SetBit
(
uint32 BitIndex |
Set the bit at the specified index. Any bits between Num and BitIndex will be considered 0. | Containers/SparseBitSet.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TFixedSparseBitSet & operator|=
(
const TFixedSparseBitSet& Other |
Containers/SparseBitSet.h | ||
TFixedSparseBitSet & operator=
(
const TFixedSparseBitSet& |
Containers/SparseBitSet.h | ||
| Containers/SparseBitSet.h |