UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > Struct Template Reference

#include <TypeBitSetBuilder.h>

+ Inheritance diagram for TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >:

Public Types

using Super = TTypeBitSetBase< TTypeBitSetBuilder, TBaseStruct, TUStructType, TContainer &, bTestInheritanceAtRuntime >
 
using FUStructType = TUStructType
 
using FBaseStruct = TBaseStruct
 
using FTraits = TTypeBitSetTraits< TBaseStruct >
 
using FConstBitSet = const FBitSet
 
- Public Types inherited from TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >
using FUStructType = TStructType
 
using FBaseStruct = TBaseStruct
 
using FContainer = TBitSetContainer
 

Public Member Functions

 TTypeBitSetBuilder (FStructTracker &InStructTracker, FConstBitSet &Source)
 
TTypeBitSetBuilderoperator= (const TTypeBitSetBuilder &Source)
 
int32 GetTypeIndex (const TUStructType &InStructType) const
 
template<typename T >
int32 GetTypeIndex () const
 
const TUStructTypeGetTypeAtIndex (const int32 Index)
 
template<typename T >
int32 Add ()
 
template<typename T >
int32 Remove ()
 
void Remove (const TTypeBitSetBuilder &Other)
 
template<typename T >
bool Contains () const
 
TTypeBitSetBuilder operator- (const TTypeBitSetBuilder &Other) const
 
TTypeBitSetBuilder operator+ (const TTypeBitSetBuilder &Other) const
 
TTypeBitSetBuilder operator& (const TTypeBitSetBuilder &Other) const
 
TTypeBitSetBuilder operator| (const TTypeBitSetBuilder &Other) const
 
TTypeBitSetBuilder GetOverlap (const TTypeBitSetBuilder &Other) const
 
bool IsEquivalent (const TTypeBitSetBuilder &Other) const
 
bool HasAll (const TTypeBitSetBuilder &Other) const
 
bool HasAny (const TTypeBitSetBuilder &Other) const
 
bool HasNone (const TTypeBitSetBuilder &Other) const
 
bool IsEmpty () const
 
bool IsBitSet (const int32 BitIndex) const
 
int32 CountStoredTypes () const
 
int32 GetMaxNum () const
 
bool operator== (const TTypeBitSetBuilder &Other) const
 
bool operator!= (const TTypeBitSetBuilder &Other) const
 
 operator FConstBitSet () const
 
template<typename TOutStructType , typename Allocator >
void ExportTypes (TArray< const TOutStructType *, Allocator > &OutTypes) const
 
void ExportTypes (TFunctionRef< bool(const TUStructType *)> Callback) const
 
SIZE_T GetAllocatedSize () const
 
FString DebugGetStringDesc () const
 
void Add (const FUStructType &InStructType)
 
void Remove (const FUStructType &InStructType)
 
bool Contains (const FUStructType &InStructType) const
 
UE_FORCEINLINE_HINT void operator+= (const TImplementation &Other)
 
UE_FORCEINLINE_HINT void operator-= (const TImplementation &Other)
 
TImplementation operator+ (const FUStructType &NewElement) const
 
TImplementation operator- (const FUStructType &NewElement) const
 
template<typename TOutStructType , typename Allocator >
void ExportTypes (TArray< const TOutStructType *, Allocator > &OutTypes) const
 
- Public Member Functions inherited from TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >
FIndexIterator GetIndexIterator (const bool bValueToCheck=true) const
 
TImplementationGetImplementation ()
 
const TImplementationGetImplementation () const
 
void SetAll (const bool bValue=true)
 
void Add (const FUStructType &InStructType)
 
void AddAtIndex (const int32 StructTypeIndex)
 
void Remove (const FUStructType &InStructType)
 
void RemoveAtIndex (const int32 StructTypeIndex)
 
void Reset ()
 
bool Contains (const FUStructType &InStructType) const
 
UE_FORCEINLINE_HINT TImplementation operator& (const TImplementation &Other) const
 
UE_FORCEINLINE_HINT TImplementation operator| (const TImplementation &Other) const
 
UE_FORCEINLINE_HINT TImplementation GetOverlap (const TImplementation &Other) const
 
UE_FORCEINLINE_HINT bool IsEquivalent (const TImplementation &Other) const
 
UE_FORCEINLINE_HINT bool HasAll (const TImplementation &Other) const
 
UE_FORCEINLINE_HINT bool HasAny (const TImplementation &Other) const
 
UE_FORCEINLINE_HINT bool HasNone (const TImplementation &Other) const
 
bool IsEmpty () const
 
UE_FORCEINLINE_HINT bool IsBitSet (const int32 BitIndex) const
 
UE_FORCEINLINE_HINT void operator+= (const TImplementation &Other)
 
UE_FORCEINLINE_HINT void operator-= (const TImplementation &Other)
 
TImplementation operator+ (const FUStructType &NewElement) const
 
TImplementation operator- (const FUStructType &NewElement) const
 
int32 CountStoredTypes () const
 
template<typename TOutStructType , typename Allocator >
void ExportTypes (TArray< const TOutStructType *, Allocator > &OutTypes) const
 
SIZE_T GetAllocatedSize () const
 

Static Public Member Functions

static int32 GetTypeIndex (const FStructTracker &InStructTracker, const TUStructType &InStructType)
 
template<typename T >
static int32 GetTypeIndex (FStructTracker &InStructTracker)
 
template<typename T >
static TTypeBitSetBuilder GetTypeBitSet (const TUStructType &InStructType)
 
static int32 GetMaxNum (const FStructTracker &StructTracker)
 
static const UStructGetBaseUStruct ()
 
- Static Public Member Functions inherited from TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >
static const UStructGetBaseUStruct ()
 

Public Attributes

friend Super
 
FContainer StructTypesBitArray
 

Protected Member Functions

FStructTrackerGetStructTracker () const
 
- Protected Member Functions inherited from TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >
 TTypeBitSetBase ()=default
 
 TTypeBitSetBase (FContainer &InContainer)
 

Additional Inherited Members

- Protected Attributes inherited from TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >
FContainer StructTypesBitArray
 

Detailed Description

template<typename TBaseStruct, typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
struct TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >

TTypeBitSetBuilder is a template class for building and managing type-specific bitsets. It extends TTypeBitSetBase to provide functionalities specific to bitset building.

Parameters
TBaseStructthe base struct type that all stored types must derive from.
TUStructTypeUnreal's struct type, typically UScriptStruct or UClass.
bTestInheritanceAtRuntimeflag to enable runtime inheritance checks.
TContainerthe container type for storing bitsets (default is FStructTypeBitSet::FBitSetContainer).

Member Typedef Documentation

◆ FBaseStruct

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
using TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::FBaseStruct = TBaseStruct

Alias for the base struct type

◆ FConstBitSet

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
using TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::FConstBitSet = const FBitSet

Alias for a const bitset, this is the type to use to represent the stored bit set

◆ FTraits

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
using TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::FTraits = TTypeBitSetTraits<TBaseStruct>

Traits for compile-time checks

◆ FUStructType

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
using TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::FUStructType = TUStructType

Alias for Unreal's struct type

◆ Super

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
using TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::Super = TTypeBitSetBase<TTypeBitSetBuilder, TBaseStruct, TUStructType, TContainer&, bTestInheritanceAtRuntime>

Define the base class for easier reference

Constructor & Destructor Documentation

◆ TTypeBitSetBuilder()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::TTypeBitSetBuilder ( FStructTracker InStructTracker,
FConstBitSet Source 
)
inline

Constructor that initializes the builder with a struct tracker and a source bitset.

Parameters
InStructTrackerhe struct tracker to use.
Sourcethe source bitset to initialize from.

Member Function Documentation

◆ Add() [1/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
template<typename T >
int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::Add ( )
inline

Template method to add a struct type to the bitset.

Parameters
Tthe C++ type to add.
Returns
The index of the added struct type.

◆ Add() [2/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
void TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::Add ( const FUStructType InStructType)
inline

Adds a struct type to the bitset.

Parameters
InStructType- The struct type to add.

◆ Contains() [1/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
template<typename T >
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::Contains ( ) const
inline

Template method to check if a struct type is contained in the bitset.

Parameters
Tthe C++ type to check.
Returns
True if the type is contained; false otherwise.

◆ Contains() [2/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::Contains ( const FUStructType InStructType) const
inline

Checks if the bitset contains a specific struct type.

Parameters
InStructType- The struct type to check for.
Returns
True if the struct type is in the bitset; false otherwise.

◆ CountStoredTypes()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::CountStoredTypes ( ) const
inline

Counts the number of set bits in the bitset.

Returns
The number of set bits.

◆ DebugGetStringDesc()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
FString TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::DebugGetStringDesc ( ) const
inline

Provides a debug string description of the bitset contents.

Returns
A string describing the contents of the bitset.

◆ ExportTypes() [1/3]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
void TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::ExportTypes ( TArray< const TOutStructType *, Allocator > &  OutTypes) const
inline

Exports types stored in the bitset to an output array. Note: This method can be slow due to the use of weak pointers in the struct tracker.

Parameters
OutTypes- The array to populate with struct types.

◆ ExportTypes() [2/3]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
void TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::ExportTypes ( TArray< const TOutStructType *, Allocator > &  OutTypes) const
inline

Exports the types stored in the bitset to an output array. Note: This method can be slow due to the use of weak pointers in the struct tracker.

Parameters
TOutStructTypethe output struct type.
Allocatorthe allocator for the output array.
OutTypesthe array to populate with struct types.

◆ ExportTypes() [3/3]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
void TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::ExportTypes ( TFunctionRef< bool(const TUStructType *)>  Callback) const
inline

Lists all types used by this bitset, calling the provided callback for each one. Returning false from the callback will early-out of iterating over the types. Note: This method can be slow due to the use of weak pointers in the struct tracker.

Parameters
Callbackthe callback function to call for each type.

◆ GetAllocatedSize()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
SIZE_T TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetAllocatedSize ( ) const
inline

Retrieves the allocated size of the bitset.

Returns
The allocated size in bytes.

◆ GetBaseUStruct()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
static const UStruct * TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::GetBaseUStruct ( )
inlinestatic

Retrieves the base UStruct type used for validation.

Returns
Pointer to the base UStruct.

◆ GetMaxNum() [1/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetMaxNum ( ) const
inline

Retrieves the maximum number of types tracked by the struct tracker.

Returns
The maximum number of types.

◆ GetMaxNum() [2/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
static int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetMaxNum ( const FStructTracker StructTracker)
inlinestatic

Static method to get the maximum number of types from a struct tracker.

Parameters
StructTrackerthe struct tracker to query.
Returns
The maximum number of types.

◆ GetOverlap()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetOverlap ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Gets the overlap between this builder's bitset and another's.

Parameters
Otherthe other builder.
Returns
A new builder representing the overlap.

◆ GetStructTracker()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
FStructTracker & TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetStructTracker ( ) const
inlineprotected

Retrieves the struct tracker used by this builder.

Returns
Reference to the struct tracker.

◆ GetTypeAtIndex()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
const TUStructType * TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetTypeAtIndex ( const int32  Index)
inline

Retrieves the struct type at a given index from the struct tracker.

Parameters
Indexthe index of the struct type.
Returns
Pointer to the struct type.

◆ GetTypeBitSet()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
template<typename T >
static TTypeBitSetBuilder TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetTypeBitSet ( const TUStructType InStructType)
inlinestatic

Template method to create a bitset for a specific C++ type.

Parameters
Tthe C++ type.
InStructTypethe Unreal struct type.
Returns
A new TTypeBitSetBuilder instance with the specified type.

◆ GetTypeIndex() [1/4]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
template<typename T >
int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetTypeIndex ( ) const
inline

Template method to get the type index for a specific C++ type. Ensures at compile-time that the type is valid.

Parameters
Tthe C++ type to get the index for.
Returns
The index of the struct type.

◆ GetTypeIndex() [2/4]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
static int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetTypeIndex ( const FStructTracker InStructTracker,
const TUStructType InStructType 
)
inlinestatic

Static method to get the type index for a given struct type.

Parameters
InStructTrackerthe struct tracker to use.
InStructTypethe struct type to get the index for.
Returns
The index of the struct type.

◆ GetTypeIndex() [3/4]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetTypeIndex ( const TUStructType InStructType) const
inline

Retrieves the index of a struct type within the struct tracker. If the type is not registered, it will be added.

Parameters
InStructTypethe struct type to get the index for.
Returns
The index of the struct type.

◆ GetTypeIndex() [4/4]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
template<typename T >
static int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::GetTypeIndex ( FStructTracker InStructTracker)
inlinestatic

Template method to get the type index for a specific C++ type. Ensures at compile-time that the type is valid.

Parameters
Tthe C++ type to get the index for.
Returns
The index of the struct type.

◆ HasAll()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::HasAll ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Checks if this builder's bitset has all bits set in another's.

Parameters
Otherthe other builder.
Returns
True if all bits are set; false otherwise.

◆ HasAny()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::HasAny ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Checks if this builder's bitset has any bits set in another's.

Parameters
Otherthe other builder.
Returns
True if any bits are set; false otherwise.

◆ HasNone()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::HasNone ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Checks if this builder's bitset has none of the bits set in another's.

Parameters
Otherthe other builder.
Returns
True if no bits are set; false otherwise.

◆ IsBitSet()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::IsBitSet ( const int32  BitIndex) const
inline

Checks if a specific bit is set in the bitset.

Parameters
BitIndexthe index of the bit to check.
Returns
True if the bit is set; false otherwise.

◆ IsEmpty()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::IsEmpty ( ) const
inline

Checks if the bitset is empty.

Returns
True if empty; false otherwise.

◆ IsEquivalent()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::IsEquivalent ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Checks if this builder's bitset is equivalent to another's.

Parameters
Otherthe other builder.
Returns
True if equivalent; false otherwise.

◆ operator FConstBitSet()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator FConstBitSet ( ) const
inline

Conversion operator to a const bitset.

Returns
A const reference to the bitset.

◆ operator!=()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator!= ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Inequality operator to compare two builders.

Parameters
Otherthe other builder to compare.
Returns
True if not equal; false otherwise.

◆ operator&()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator& ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Performs a bitwise AND with another builder's bitset.

Parameters
Otherthe other builder.
Returns
A new builder with the result.

◆ operator+() [1/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TImplementation TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::operator+ ( const FUStructType NewElement) const
inline

Adds a struct type to the bitset, returning a new bitset.

Parameters
NewElement- The struct type to add.
Returns
A new bitset with the added struct type.

◆ operator+() [2/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator+ ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Adds another builder's bitset to this builder's bitset.

Parameters
Otherthe other builder.
Returns
A new builder with the result.

◆ operator+=()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
UE_FORCEINLINE_HINT void TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::operator+= ( const TImplementation Other)
inline

Adds the bits from another bitset to this one (union).

Parameters
Other- The other bitset to add.

◆ operator-() [1/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TImplementation TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::operator- ( const FUStructType NewElement) const
inline

Removes a struct type from the bitset, returning a new bitset.

Parameters
NewElement- The struct type to remove.
Returns
A new bitset with the struct type removed.

◆ operator-() [2/2]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator- ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Subtracts another builder's bitset from this builder's bitset.

Parameters
Otherthe other builder.
Returns
A new builder with the result.

◆ operator-=()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
UE_FORCEINLINE_HINT void TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::operator-= ( const TImplementation Other)
inline

Removes the bits from another bitset from this one (difference).

Parameters
Other- The other bitset to subtract.

◆ operator=()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder & TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator= ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Source)
inline

Assignment operator to copy the bitset from another builder. Ensures that both builders use the same struct tracker.

Parameters
Sourcethe other builder to copy from.
Returns
Reference to this builder.

◆ operator==()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
bool TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator== ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Equality operator to compare two builders.

Parameters
Otherthe other builder to compare.
Returns
True if equal; false otherwise.

◆ operator|()

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
TTypeBitSetBuilder TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::operator| ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other) const
inline

Performs a bitwise OR with another builder's bitset.

Parameters
Otherthe other builder.
Returns
A new builder with the result.

◆ Remove() [1/3]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
template<typename T >
int32 TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::Remove ( )
inline

Template method to remove a struct type from the bitset.

Parameters
Tthe C++ type to remove.
Returns
The index of the removed struct type.

◆ Remove() [2/3]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
void TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::Remove ( const FUStructType InStructType)
inline

Removes a struct type from the bitset.

Parameters
InStructType- The struct type to remove.

◆ Remove() [3/3]

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
void TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::Remove ( const TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer > &  Other)
inline

Removes all bits set in another builder's bitset from this builder's bitset.

Parameters
Otherthe other builder whose bits to remove.

Member Data Documentation

◆ StructTypesBitArray

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
FContainer TTypeBitSetBase< TImplementation, TBaseStruct, TStructType, TBitSetContainer, bTestInheritanceAtRuntime >::StructTypesBitArray

Bring base class methods into scope

◆ Super

template<typename TBaseStruct , typename TUStructType = UScriptStruct, bool bTestInheritanceAtRuntime = WITH_STRUCTUTILS_DEBUG, typename TContainer = FStructTypeBitSet::FBitSetContainer>
friend TTypeBitSetBuilder< TBaseStruct, TUStructType, bTestInheritanceAtRuntime, TContainer >::Super

Friend declaration to allow base class access


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