7#include <initializer_list>
10template<
typename InElementType,
bool bTypeLayout>
43template<
typename InElementType>
78template <
typename InElementType>
116 template<
typename HashType>
125 template<
typename HashType>
131 template<
typename HashType>
142 for (
int32 HashIndex = 0; HashIndex < HashSize; ++HashIndex)
151template <
typename ElementType>
154 return Ar << Element.Value;
158template <
typename ElementType>
#define checkSlow(expr)
Definition AssertionMacros.h:332
FORCEINLINE constexpr void DestructItems(ElementType *Element, SizeType Count)
Definition MemoryOps.h:81
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define DECLARE_INLINE_TYPE_LAYOUT(T, Interface)
Definition MemoryLayout.h:558
#define UE_REQUIRES(...)
Definition Requires.h:86
UE_FORCEINLINE_HINT FArchive & operator<<(FArchive &Ar, TSparseSetElement< ElementType > &Element)
Definition SparseSetElement.h:152
Definition Archive.h:1208
Definition SetUtilities.h:95
Definition StructuredArchiveSlots.h:52
TSparseSetElementBase & operator=(TSparseSetElementBase &&)=default
TSparseSetElementBase(const TSparseSetElementBase &)=default
TSparseSetElementBase()=default
LAYOUT_FIELD(ElementType, Value)
TSparseSetElementBase(TSparseSetElementBase &&)=default
InElementType ElementType
Definition SparseSetElement.h:48
TSparseSetElementBase & operator=(const TSparseSetElementBase &)=default
LAYOUT_MUTABLE_FIELD(FSetElementId, HashNextId)
UE_FORCEINLINE_HINT TSparseSetElementBase(InitType &&... InValue)
Definition SparseSetElement.h:57
LAYOUT_MUTABLE_FIELD(int32, HashIndex)
Definition SparseSetElement.h:12
InElementType ElementType
Definition SparseSetElement.h:14
UE_FORCEINLINE_HINT TSparseSetElementBase(InitType &&... InValue)
Definition SparseSetElement.h:23
FSetElementId HashNextId
Definition SparseSetElement.h:37
TSparseSetElementBase()=default
TSparseSetElementBase & operator=(const TSparseSetElementBase &)=default
ElementType Value
Definition SparseSetElement.h:34
int32 HashIndex
Definition SparseSetElement.h:40
TSparseSetElementBase(const TSparseSetElementBase &)=default
TSparseSetElementBase & operator=(TSparseSetElementBase &&)=default
TSparseSetElementBase(TSparseSetElementBase &&)=default
Definition SparseSetElement.h:80
TSparseSetElement(const TSparseSetElement &)=default
UE_FORCEINLINE_HINT bool operator==(const TSparseSetElement &Other) const
Definition SparseSetElement.h:102
TSparseSetElement & operator=(const TSparseSetElement &)=default
TSparseSetElement(TSparseSetElement &&)=default
UE_FORCEINLINE_HINT bool operator!=(const TSparseSetElement &Other) const
Definition SparseSetElement.h:106
UE_FORCEINLINE_HINT TSparseSetElement(InitType &&... InValue)
Definition SparseSetElement.h:91
TSparseSetElement()=default
TSparseSetElement & operator=(TSparseSetElement &&)=default
implementation
Definition PlayInEditorLoadingScope.h:8
void Rehash(HashType &Hash, int32 HashSize)
Definition SparseSetElement.h:132
UE_FORCEINLINE_HINT FSetElementId & GetTypedHash(HashType &Hash, int32 HashIndex, int32 HashSize)
Definition SparseSetElement.h:126
void CopyHash(HashType &Hash, int32 &HashSize, const HashType &Copy, int32 HashSizeCopy)
Definition SparseSetElement.h:117
CORE_API void OnInvalidSetNum(unsigned long long NewNum)
Definition ContainerHelpers.cpp:12
static constexpr UE_FORCEINLINE_HINT bool IsPowerOfTwo(T Value)
Definition UnrealMathUtility.h:519