25 return (Data & Mask) != 0;
60 return (Data & Mask) != 0;
73template<u
int32 NumBits>
79 typedef int32* FBoolType::* UnspecifiedBoolType;
80 typedef float* FBoolType::* UnspecifiedZeroType;
91 UE_DEPRECATED(5.4,
"Implicitly constructing a TStaticBitArray from 0 has been deprecated - please use the default constructor instead")
114 WordType
Word = (WordType)1 << (
InBitIndex & (NumBitsPerWord - 1));
116 for(
int32 WordIndex = 0; WordIndex < NumWords; ++WordIndex)
139 const TCHAR ch = Str[--Pos];
144 else if(ch !=
TEXT(
'0'))
177 Words[
Index / NumBitsPerWord],
178 (WordType)1 << (
Index & (NumBitsPerWord - 1))
185 Words[
Index / NumBitsPerWord],
186 (WordType)1 << (
Index & (NumBitsPerWord - 1))
273 UE_DEPRECATED(5.4,
"Comparing a TStaticBitArray to zero has been deprecated - please use !BitArray.HasAnyBitsSet() instead")
276 return (UnspecifiedBoolType)
A ==
Value;
281 return !(*
this ==
B);
284 UE_DEPRECATED(5.4,
"Comparing a TStaticBitArray to zero has been deprecated - please use BitArray.HasAnyBitsSet() instead")
300 while (WordIndex < NumWords && Words[WordIndex] == WordType(-1))
305 if (WordIndex < NumWords)
308 const WordType Bits = ~(Words[WordIndex]);
331 while (WordIndex < NumWords && Words[WordIndex] == WordType(0))
336 if (WordIndex < NumWords)
338 const WordType Bits = Words[WordIndex];
392 static constexpr uint32 NumBitsPerWord =
sizeof(WordType) * 8;
393 static constexpr uint32 NumBitsPerWordLog2 = 6;
394 static_assert(NumBitsPerWord == (1u << NumBitsPerWordLog2),
"Update NumBitsPerWordLog2 to reflect WordType");
395 static constexpr uint32 NumWords = ((
NumBits + NumBitsPerWord - 1) & ~(NumBitsPerWord - 1)) / NumBitsPerWord;
396 WordType Words[NumWords];
430 void ErrorInvalid_()
const
439template<u
int32 NumBits>
#define check(expr)
Definition AssertionMacros.h:314
#define LowLevelFatalError(Format,...)
Definition AssertionMacros.h:554
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
FArchive & operator<<(FArchive &Ar, TStaticBitArray< NumBits > &BitArray)
Definition StaticBitArray.h:440
Definition Archive.h:1208
virtual void Serialize(void *V, int64 Length)
Definition Archive.h:1689
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
Definition StaticBitArray.h:49
TConstStaticBitReference(const T &InData, T InMask)
Definition StaticBitArray.h:52
Definition StaticBitArray.h:75
UE_FORCEINLINE_HINT TStaticBitArray(UnspecifiedZeroType)
Definition StaticBitArray.h:92
UE_FORCEINLINE_HINT bool operator!=(const TStaticBitArray< NumBits > &B) const
Definition StaticBitArray.h:279
void Serialize(FArchive &Ar)
Definition StaticBitArray.h:367
friend UE_FORCEINLINE_HINT bool operator!=(const TStaticBitArray< NumBits > &A, UnspecifiedBoolType Value)
Definition StaticBitArray.h:285
friend TStaticBitArray< NumBits > operator^(const TStaticBitArray< NumBits > &A, const TStaticBitArray< NumBits > &B)
Definition StaticBitArray.h:255
TStaticBitArray & operator|=(const TStaticBitArray &Other)
Definition StaticBitArray.h:191
TStaticBitArray & operator&=(const TStaticBitArray &Other)
Definition StaticBitArray.h:199
TStaticBitArray(bool, uint32 InBitIndex)
Definition StaticBitArray.h:100
TStaticBitReference< WordType > operator[](int32 Index)
Definition StaticBitArray.h:173
friend UE_FORCEINLINE_HINT bool operator==(const TStaticBitArray< NumBits > &A, UnspecifiedBoolType Value)
Definition StaticBitArray.h:274
static UE_FORCEINLINE_HINT int32 Num()
Definition StaticBitArray.h:169
void Fill(bool Value)
Definition StaticBitArray.h:384
int32 FindFirstSetBit() const
Definition StaticBitArray.h:325
UE_FORCEINLINE_HINT TStaticBitArray()
Definition StaticBitArray.h:85
friend TStaticBitArray< NumBits > operator&(const TStaticBitArray< NumBits > &A, const TStaticBitArray< NumBits > &B)
Definition StaticBitArray.h:240
bool operator==(const TStaticBitArray< NumBits > &B) const
Definition StaticBitArray.h:261
friend TStaticBitArray< NumBits > operator|(const TStaticBitArray< NumBits > &A, const TStaticBitArray< NumBits > &B)
Definition StaticBitArray.h:225
friend TStaticBitArray< NumBits > operator~(const TStaticBitArray< NumBits > &A)
Definition StaticBitArray.h:215
const TConstStaticBitReference< WordType > operator[](int32 Index) const
Definition StaticBitArray.h:181
FString ToString() const
Definition StaticBitArray.h:354
TStaticBitArray(const FString &Str)
Definition StaticBitArray.h:125
static constexpr uint32 NumOfBits
Definition StaticBitArray.h:389
bool HasAnyBitsSet() const
Definition StaticBitArray.h:151
int32 FindFirstClearBit() const
Definition StaticBitArray.h:294
TStaticBitArray & operator^=(const TStaticBitArray &Other)
Definition StaticBitArray.h:207
Definition StaticBitArray.h:14
void operator=(const bool NewValue)
Definition StaticBitArray.h:27
TStaticBitReference(T &InData, T InMask)
Definition StaticBitArray.h:17
U16 Index
Definition radfft.cpp:71
static UE_FORCEINLINE_HINT void * Memset(void *Dest, uint8 Char, SIZE_T Count)
Definition UnrealMemory.h:119