9#include "InstancedStructContainer.generated.h"
11#define UE_API COREUOBJECT_API
47 int32 GetStructureSize()
const
49 return ScriptStruct !=
nullptr ? ScriptStruct->GetStructureSize() : 0;
52 int32 GetMinAlignment()
const
54 return ScriptStruct !=
nullptr ? ScriptStruct->GetMinAlignment() : 1;
57 int32 GetEndOffset()
const
59 return Offset + GetStructureSize();
69 static constexpr int32 OverheadPerItem =
sizeof(FItem);
98 UE_API void ReserveBytes(
const int32 NumBytes,
const int32 MinAlignment = DefaultMinAlignment);
125 const FItem& Item = GetItem(
Index);
133 const FItem& Item = GetItem(
Index);
179 return Index != RHS.Index;
197 static_assert(!std::is_const_v<T>,
"Cannot remove on const container.");
241 static constexpr int32 DefaultMinAlignment =
alignof(
void*);
244 static constexpr int32 ItemStride =
static_cast<int32>(
Align(
sizeof(FItem),
alignof(FItem)));
250 return AllocatedSize - ((
Index + 1) * ItemStride);
265 int32 AllocatedSize = 0;
271 friend FConstIterator;
constexpr T Align(T Val, uint64 Alignment)
Definition AlignmentTemplates.h:18
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
TIndexedContainerIterator< TArray< FPreviewAttachedObjectPair >, FPreviewAttachedObjectPair, int32 > TIterator
Definition PreviewAssetAttachComponent.h:68
#define UE_API
Definition InstancedStructContainer.h:11
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition Archive.h:1208
Definition OutputDevice.h:133
Definition UObjectGlobals.h:2492
U16 Index
Definition radfft.cpp:71
Definition StructView.h:217
Definition InstancedStructContainer.h:154
int32 GetIndex() const
Definition InstancedStructContainer.h:189
bool operator!=(const TIterator &RHS) const
Definition InstancedStructContainer.h:177
TIterator & operator++()
Definition InstancedStructContainer.h:164
void RemoveCurrent()
Definition InstancedStructContainer.h:195
TIterator & operator--()
Definition InstancedStructContainer.h:170
std::conditional_t< std::is_const_v< T >, FConstStructView, FStructView > StructViewType
Definition InstancedStructContainer.h:155
StructViewType operator*()
Definition InstancedStructContainer.h:158
Definition InstancedStructContainer.h:36
FConstIterator end() const
Definition InstancedStructContainer.h:228
int32 GetAllocatedMemory() const
Definition InstancedStructContainer.h:104
bool IsValidIndex(const int32 Index) const
Definition InstancedStructContainer.h:119
FConstIterator CreateConstIterator() const
Definition InstancedStructContainer.h:221
FConstStructView operator[](const int32 Index) const
Definition InstancedStructContainer.h:122
~FInstancedStructContainer()
Definition InstancedStructContainer.h:75
FStructView operator[](const int32 Index)
Definition InstancedStructContainer.h:130
FIterator begin()
Definition InstancedStructContainer.h:224
int32 Num() const
Definition InstancedStructContainer.h:116
FConstIterator begin() const
Definition InstancedStructContainer.h:227
FIterator end()
Definition InstancedStructContainer.h:225
FIterator CreateIterator()
Definition InstancedStructContainer.h:219
bool IsValid() const
Definition InstancedStructContainer.h:113
Definition InstancedStruct.h:32
Definition StructView.h:24
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
@ WithGetPreloadDependencies
Definition StructOpsTypeTraits.h:32
@ WithAddStructReferencedObjects
Definition StructOpsTypeTraits.h:22
@ WithExportTextItem
Definition StructOpsTypeTraits.h:20
@ WithSerializer
Definition StructOpsTypeTraits.h:23
@ WithImportTextItem
Definition StructOpsTypeTraits.h:21
@ WithIdentical
Definition StructOpsTypeTraits.h:19
Definition StructOpsTypeTraits.h:46