![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <SparseBitSet.h>
Classes | |
| struct | FIterator |
Public Types | |
| using | BucketType = typename BucketStorage::BucketType |
Public Member Functions | |
| TFixedSparseBitSet () | |
| template<typename ... StorageArgs> | |
| TFixedSparseBitSet (StorageArgs &&...Storage) | |
| TFixedSparseBitSet (const TFixedSparseBitSet &)=default | |
| TFixedSparseBitSet & | operator= (const TFixedSparseBitSet &)=default |
| TFixedSparseBitSet (TFixedSparseBitSet &&)=default | |
| TFixedSparseBitSet & | operator= (TFixedSparseBitSet &&)=default |
| template<typename OtherHashType , typename OtherStorageType > | |
| void | CopyTo (TFixedSparseBitSet< OtherHashType, OtherStorageType > &Other) const |
| template<typename OtherHashType , typename OtherStorageType > | |
| void | CopyToUnsafe (TFixedSparseBitSet< OtherHashType, OtherStorageType > &Other, uint32 OtherBucketCapacity) const |
| TFixedSparseBitSet & | operator|= (const TFixedSparseBitSet &Other) |
| uint32 | NumBuckets () const |
| uint32 | CountSetBits () const |
| uint32 | GetMaxNumBits () const |
| bool | IsEmpty () const |
| ESparseBitSetBitResult | SetBit (uint32 BitIndex) |
| bool | IsBitSet (uint32 BitIndex) const |
| int32 | GetSparseBucketIndex (uint32 BitIndex) const |
Static Public Attributes | |
| static constexpr uint32 | HashSize = sizeof(HashType)*8 |
| static constexpr uint32 | BucketSize = sizeof(typename BucketStorage::BucketType)*8 |
| static constexpr uint32 | MaxNumBits = HashSize * BucketSize |
Friends | |
| template<typename , typename > | |
| struct | TFixedSparseBitSet |
| FIterator | begin (const TFixedSparseBitSet< HashType, BucketStorage > &In) |
| FIterator | end (const TFixedSparseBitSet< HashType, BucketStorage > &In) |
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.
| using UE::MovieScene::TFixedSparseBitSet< HashType, BucketStorage >::BucketType = typename BucketStorage::BucketType |
|
inlineexplicit |
|
inlineexplicit |
|
default |
|
default |
|
inline |
|
inline |
Copy this bitset to another without resizing the destination's bucket storage. Bucket storage must be >= this size.
|
inline |
|
inline |
|
inline |
Get the sparse bucket index of the specified bit
|
inline |
Check whether the specified bit index is set
|
inline |
|
inline |
Count the number of buckets in this bitset
|
default |
|
default |
|
inline |
|
inline |
Set the bit at the specified index. Any bits between Num and BitIndex will be considered 0.
|
friend |
|
friend |
|
friend |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |