10template <
typename ElementType,
typename SizeType =
int32>
36 return { Ref,
Index };
44template <
typename ElementType,
typename SizeType =
int32>
49 template <
typename IteratorType,
typename SizeType>
52 IteratorType Iterator;
57 return { *this->Iterator, this->Index };
60 template <
typename EndIteratorType>
63 return this->Iterator !=
End;
74template <
typename RangeType,
typename SizeType>
81 return { std::begin(
Range) };
86 return std::end(
Range);
107template <
typename RangeType>
110 return { (RangeType&&)Range };
112template <
typename T, SIZE_T N>
115 static_assert(N <=
MAX_int32,
"Array size is not supported by Enumerate");
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
auto EnumerateRange(RangeType &&Range) -> TEnumerateRange< RangeType, decltype(GetNum(Range))>
Definition EnumerateRange.h:108
#define MAX_int32
Definition NumericLimits.h:25
auto GetNum(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Length())
Definition StringConv.h:808
Definition Core.Build.cs:8
Definition OverriddenPropertySet.cpp:45
implementation
Definition PlayInEditorLoadingScope.h:8
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition EnumerateRange.h:76
RangeType Range
Definition EnumerateRange.h:77
auto begin() const -> UE::Core::Private::TEnumerateIter< decltype(std::begin(Range)), SizeType >
Definition EnumerateRange.h:79
auto end() const
Definition EnumerateRange.h:84
Definition EnumerateRange.h:12
ElementType & operator*() const
Definition EnumerateRange.h:24
SizeType GetIndex() const
Definition EnumerateRange.h:19
TEnumerateRef(ElementType &InRef, SizeType InIndex)
Definition EnumerateRange.h:13
ElementType * operator->() const
Definition EnumerateRange.h:29