14#include "CoreMinimal.h"
38 template <
typename L,
typename R>
41 template <
typename L,
typename R>
44 template <
typename L,
typename R>
49 else return !(l != r);
91 { i - 2 } -> CConvertibleToDecayed<T>;
106 template <
typename T>
118 template <
typename T>
121 std::random_access_iterator_tag,
124 std::bidirectional_iterator_tag,
127 std::forward_iterator_tag,
128 std::input_iterator_tag
139 template <
typename T, EIteratorStep Step>
148 template <
typename T, EIteratorDirection Direction>
152 template <
typename T, EIteratorDirection Direction, EIteratorStep Step>
156 template <CBasicForwardIterator T>
160 template <CRangeMember T>
163 template <
typename T>
170 template <
typename T>
173 template <
typename T>
176 template <
typename T>
179 template <
typename T>
186 template <
typename T>
189 template <
typename Range>
190 concept CRangeOfTuples = CRangeMember<Range> && CTuple<TRangeElementType<Range>>;
192 template <
typename Range,
typename Function>
194 CRangeMember<Range> && CFunctionLike<Function>
195 && CTupleCompatibleWithFunction<TRangeElementType<Range>, Function>
This header exists because STL headers in Android doesn't define STL concepts (other than same_as whi...
size_t size(TArray< T, A > const &r)
Basic minimal iterator which can only proceed forward or backward one element at a time.
The most basic minimal iterator which can only proceed forward one element at a time.
Constraint given iterator to its best directional capability.
Constraint given iterator to its best stepping capability.
Constraint given iterator to its best capabilies both in stepping and in direction.
An iterator type which can natively proceed forward in arbitrarily large steps.
An iterator type which can natively proceed forward in arbitrarily large steps and exposes a + operat...
An iterator type which can natively seek its associated content in arbitrarily large steps.
An iterator type which can natively seek its associated content in arbitrarily large steps and expose...
constexpr EIteratorStep TIteratorStep
Get the maximum steps the given iterator can be seeking with.
std::decay_t< decltype(*DeclVal< T >())> TIteratorElementType
return the iterator's associated content type when they're dereferenced.
constexpr EIteratorDirection TIteratorDirection
Get the direction given iterator is capable of.
bool IteratorEquals(L const &l, R const &r)
TIteratorElementType< decltype(DeclVal< T >().begin())> TRangeElementType
return a range's associated content type determined by dereferencing their iterator.
std::conditional_t< CRandomAccessIterator< T >, std::random_access_iterator_tag, std::conditional_t< CBasicBidirectionalIterator< T >, std::bidirectional_iterator_tag, std::conditional_t< CBasicForwardIterator< T >, std::forward_iterator_tag, std::input_iterator_tag > > > TIteratorCategory
Assume an STL iterator category from input iterator.