58 UE_DEPRECATED(5.3,
"Use constructor that takes a reference instead")
85 checkf((
Index >= 0) & (
Index < ArrayNum),
TEXT(
"Array index out of bounds: %d from an array of size %d"),
Index, ArrayNum);
122 return ArrayNum == 0;
160 UE_DEPRECATED(5.3,
"Removed to bring in to line with ArrayView, use GetTypeSize() instead")
190 return UE::StructUtils::GetStructPtr<T>(ScriptStruct,
GetDataAt(
Index));
203 return UE::StructUtils::GetStructRef<T>(ScriptStruct,
GetDataAt(
Index));
354 return (*Owner)[
Index];
359 return Owner ==
Other.Owner
365 return !(*
this ==
Other);
384 void* DataPtr =
nullptr;
421 , ArrayNum(Src.
Num())
465 checkf((
Index >= 0) & (
Index < ArrayNum),
TEXT(
"Array index out of bounds: %d from an array of size %d"),
Index, ArrayNum);
502 return ArrayNum == 0;
556 requires (std::is_const_v<T>)
559 return UE::StructUtils::GetStructPtr<T>(ScriptStruct,
GetDataAt(
Index));
570 requires (std::is_const_v<T>)
573 return UE::StructUtils::GetStructRef<T>(ScriptStruct,
GetDataAt(
Index));
595 requires (std::is_const_v<T>)
695 return (*Owner)[
Index];
700 return Owner ==
Other.Owner
706 return !(*
this ==
Other);
719 const void* DataPtr =
nullptr;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ 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
UScriptStruct * StaticStruct()
Definition ReflectedTypeAccessors.h:18
Definition ArrayView.h:139
void CalcMidIndexAndCount(int32 ArrayNum, int32 &InOutIndex, int32 &InOutCount)
Definition StructUtils.h:109
U16 Index
Definition radfft.cpp:71
Definition StructArrayView.h:681
FIterator(const FConstStructArrayView &InOwner, int32 InIndex)
Definition StructArrayView.h:682
bool operator==(const FIterator &Other) const
Definition StructArrayView.h:698
FConstStructView operator*() const
Definition StructArrayView.h:693
UE_FORCEINLINE_HINT bool operator!=(const FIterator &Other) const
Definition StructArrayView.h:704
FIterator & operator++()
Definition StructArrayView.h:687
Definition StructArrayView.h:398
int32 Num() const
Definition StructArrayView.h:542
FConstStructArrayView()=default
void SliceRangeCheck(int32 Index, int32 InNum) const
Definition StructArrayView.h:475
void LeftChopInline(const int32 Count)
Definition StructArrayView.h:657
const void * GetData() const
Definition StructArrayView.h:510
FConstStructArrayView LeftChop(const int32 Count) const
Definition StructArrayView.h:624
bool IsEmpty() const
Definition StructArrayView.h:500
constexpr T * GetPtrAt(const int32 Index) const
Definition StructArrayView.h:557
UE_FORCEINLINE_HINT FIterator begin() const
Definition StructArrayView.h:715
FConstStructArrayView(const UScriptStruct &InScriptStruct, const void *InData, const int32 InCount)
Definition StructArrayView.h:434
FConstStructArrayView(TArray< T > &InArray)
Definition StructArrayView.h:402
UE_FORCEINLINE_HINT FIterator end() const
Definition StructArrayView.h:716
FConstStructArrayView Left(const int32 Count) const
Definition StructArrayView.h:618
constexpr T & Last(int32 IndexFromTheEnd=0) const
Definition StructArrayView.h:596
FConstStructView operator[](int32 Index) const
Definition StructArrayView.h:581
UE_FORCEINLINE_HINT uint32 GetTypeSize()
Definition StructArrayView.h:532
constexpr T & GetAt(const int32 Index) const
Definition StructArrayView.h:571
void RangeCheck(int32 Index) const
Definition StructArrayView.h:463
FConstStructArrayView(const FStructArrayView Src)
Definition StructArrayView.h:417
void CheckInvariants() const
Definition StructArrayView.h:453
const UScriptStruct * GetScriptStruct() const
Definition StructArrayView.h:545
const void * GetDataAt(const int32 Index) const
Definition StructArrayView.h:521
FConstStructArrayView Mid(int32 Index, int32 Count=TNumericLimits< int32 >::Max()) const
Definition StructArrayView.h:644
void RightChopInline(const int32 Count)
Definition StructArrayView.h:669
FConstStructArrayView RightChop(const int32 Count) const
Definition StructArrayView.h:637
bool IsValidIndex(int32 Index) const
Definition StructArrayView.h:489
FConstStructArrayView(const UScriptStruct *InScriptStruct, const void *InData, const uint32 InElementSize, const int32 InCount)
Definition StructArrayView.h:424
void RightInline(const int32 Count)
Definition StructArrayView.h:663
void MidInline(const int32 Position, const int32 Count=TNumericLimits< int32 >::Max())
Definition StructArrayView.h:675
FConstStructArrayView Slice(const int32 Index, const int32 InNum) const
Definition StructArrayView.h:611
void LeftInline(const int32 Count)
Definition StructArrayView.h:651
FConstStructArrayView(TArrayView< T > InArrayView)
Definition StructArrayView.h:410
FConstStructArrayView & operator=(const FStructArrayView StructArrayView)
Definition StructArrayView.h:444
FConstStructArrayView Right(const int32 Count) const
Definition StructArrayView.h:630
Definition StructView.h:217
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
static UE_FORCEINLINE_HINT void Memswap(void *Ptr1, void *Ptr2, SIZE_T Size)
Definition UnrealMemory.h:187
Definition StructArrayView.h:340
bool operator==(const FIterator &Other) const
Definition StructArrayView.h:357
FIterator & operator++()
Definition StructArrayView.h:346
FIterator(const FStructArrayView &InOwner, int32 InIndex)
Definition StructArrayView.h:341
UE_FORCEINLINE_HINT bool operator!=(const FIterator &Other) const
Definition StructArrayView.h:363
FStructView operator*() const
Definition StructArrayView.h:352
Definition StructArrayView.h:19
FStructArrayView()=default
const T & GetElementAt(const int32 Index) const
Definition StructArrayView.h:208
int32 Num() const
Definition StructArrayView.h:168
FStructArrayView Right(const int32 Count) const
Definition StructArrayView.h:289
SIZE_T GetElementSize() const
Definition StructArrayView.h:161
T & GetAt(const int32 Index) const
Definition StructArrayView.h:201
FStructArrayView Left(const int32 Count) const
Definition StructArrayView.h:277
void LeftChopInline(const int32 Count)
Definition StructArrayView.h:316
const UScriptStruct & GetFragmentType() const
Definition StructArrayView.h:174
const T & GetElementAtChecked(const int32 Index) const
Definition StructArrayView.h:215
FStructArrayView(const UScriptStruct *InScriptStruct, void *InData, const uint32 InElementSize, const int32 InCount)
Definition StructArrayView.h:38
FStructArrayView(TArrayView< T > InArrayView)
Definition StructArrayView.h:31
T & Last(const int32 IndexFromTheEnd=0) const
Definition StructArrayView.h:255
void RightChopInline(const int32 Count)
Definition StructArrayView.h:328
void MidInline(const int32 Position, const int32 Count=TNumericLimits< int32 >::Max())
Definition StructArrayView.h:334
bool IsValidIndex(const int32 Index) const
Definition StructArrayView.h:109
bool IsEmpty() const
Definition StructArrayView.h:120
FStructArrayView(TArray< T > &InArray)
Definition StructArrayView.h:23
FStructArrayView(const UScriptStruct &InScriptStruct, void *InData, const int32 InCount)
Definition StructArrayView.h:48
void RangeCheck(int32 Index) const
Definition StructArrayView.h:83
UE_FORCEINLINE_HINT FIterator end() const
Definition StructArrayView.h:375
void SliceRangeCheck(const int32 Index, const int32 InNum) const
Definition StructArrayView.h:95
FStructArrayView LeftChop(const int32 Count) const
Definition StructArrayView.h:283
FStructArrayView Slice(const int32 Index, const int32 InNum) const
Definition StructArrayView.h:270
UE_FORCEINLINE_HINT void Swap(const int32 Index1, const int32 Index2)
Definition StructArrayView.h:378
void RightInline(const int32 Count)
Definition StructArrayView.h:322
UE_FORCEINLINE_HINT FIterator begin() const
Definition StructArrayView.h:374
void CheckInvariants() const
Definition StructArrayView.h:73
T * GetPtrAt(const int32 Index) const
Definition StructArrayView.h:188
void LeftInline(const int32 Count)
Definition StructArrayView.h:310
void * GetMutableDataAt(const int32 Index) const
Definition StructArrayView.h:148
T & GetMutableElementAt(const int32 Index) const
Definition StructArrayView.h:223
void * GetDataAt(const int32 Index) const
Definition StructArrayView.h:141
T & GetMutableElementAtChecked(const int32 Index) const
Definition StructArrayView.h:230
const UScriptStruct * GetScriptStruct() const
Definition StructArrayView.h:177
FStructArrayView Mid(int32 Index, int32 Count=TNumericLimits< int32 >::Max()) const
Definition StructArrayView.h:303
const UScriptStruct & GetElementType() const
Definition StructArrayView.h:171
void * GetData() const
Definition StructArrayView.h:130
UE_FORCEINLINE_HINT uint32 GetTypeSize() const
Definition StructArrayView.h:155
FStructView operator[](const int32 Index) const
Definition StructArrayView.h:241
FStructArrayView RightChop(const int32 Count) const
Definition StructArrayView.h:296
Definition StructView.h:24
Definition NumericLimits.h:41