UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MassBitSetRegistry.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "TypeBitSetBuilder.h"
9
11template <>
13{
15 template<typename TTestedType>
17
19 static constexpr bool RequiresBaseType = true;
20};
21
23template <>
25{
27 template<typename TTestedType>
29
31 static constexpr bool RequiresBaseType = true;
32};
33
34namespace UE::Mass
35{
36 namespace Private
37 {
48 template<typename T, typename TUStructType = UScriptStruct>
50 {
53
56
77
83 : StructTracker([](){ return StructUtils::GetAsUStruct<T>(); })
84 {
85 }
86
92 [[nodiscard]] inline FBitSetBuilder MakeBuilder(FBitSet& BitSet) const
93 {
94 return FBitSetBuilder(StructTracker, BitSet);
95 }
96
102 {
104 }
105
111 inline int32 RegisterType(const UScriptStruct* Type)
112 {
113 return StructTracker.Register(*Type);
114 }
115
121 template<typename TType>
123 {
124 return RegisterType(TType::StaticStrict());
125 }
126
132 {
140 {
141 // Disable serialization, temporarily, until serialization is implemented for the new bitset type
142 bIsSerializable = false;
143 }
144 };
145
148 };
149 } // namespace Private
150
159
168
170 template<>
172
173 template<>
175
176} // namespace UE::Mass
177
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::Mass::FFragmentBitRegistry::FBitSet FMassFragmentBitSet_WIP
Definition MassBitSetRegistry.h:178
UE::Mass::FTagBitRegistry::FBitSet FMassTagBitSet_WIP
Definition MassBitSetRegistry.h:179
Definition AndroidPlatformMisc.h:14
Definition Class.h:1720
Definition Class.h:480
Definition MassEntityConcepts.h:16
Definition MassEntityConcepts.h:23
Definition OverriddenPropertySet.cpp:45
Definition MassArchetypeData.h:21
FTagBitRegistry::FBitSetBuilder FTagBitSetBuilder
Definition MassBitSetRegistry.h:163
FFragmentBitRegistry::FBitSetBuilder FFragmentBitSetBuilder
Definition MassBitSetRegistry.h:154
Definition BitArray.h:26
Definition MassEntityElementTypes.h:10
Definition MassEntityElementTypes.h:24
Definition StructTypeBitSet.h:275
uint32 bIsSerializable
Definition StructTypeBitSet.h:381
int32 Register(const UStruct &InStructType)
Definition StructTypeBitSet.h:306
TFunction< bool(const UStruct *)> FTypeValidation
Definition StructTypeBitSet.h:277
Definition TypeBitSetBuilder.h:34
const FBitSet FConstBitSet
Definition TypeBitSetBuilder.h:63
Definition TypeBitSetBuilder.h:14
static constexpr bool IsValidType
Definition TypeBitSetBuilder.h:20
Definition MassBitSetRegistry.h:64
FBitSet BitSetInstance
Definition MassBitSetRegistry.h:75
FBitSetFactory(FStructTracker &InStructTracker)
Definition MassBitSetRegistry.h:69
FBitSetStructTracker(const UStruct *InBaseType, const FTypeValidation &InTypeValidation=FTypeValidation())
Definition MassBitSetRegistry.h:138
Definition MassBitSetRegistry.h:50
int32 RegisterType(const UScriptStruct *Type)
Definition MassBitSetRegistry.h:111
TBitTypeRegistry()
Definition MassBitSetRegistry.h:82
typename FBitSetBuilder::FConstBitSet FBitSet
Definition MassBitSetRegistry.h:55
FBitSetFactory MakeBuilder() const
Definition MassBitSetRegistry.h:101
int32 RegisterType()
Definition MassBitSetRegistry.h:122
FBitSetStructTracker StructTracker
Definition MassBitSetRegistry.h:147
TTypeBitSetBuilder< T, TUStructType, TTypeBitSetTraits< T >::RequiresBaseType > FBitSetBuilder
Definition MassBitSetRegistry.h:52
FBitSetBuilder MakeBuilder(FBitSet &BitSet) const
Definition MassBitSetRegistry.h:92