5#include "Algo/Impl/RangePointerType.h"
6#include "Templates/IdentityFunctor.h"
7#include "Templates/Invoke.h"
8#include "Templates/UnrealTemplate.h"
12 template <
typename RangeType,
typename ValueType,
typename ProjectionType>
26 template <
typename RangeType,
typename PredicateType>
44
45
46
47
48
49
50
51 template <
typename RangeType,
typename ValueType>
59
60
61
62
63
64
65
66
67 template <
typename RangeType,
typename ValueType,
typename ProjectionType>
69 ->
decltype(
AlgoImpl::FindBy(Forward<RangeType>(Range), Value, MoveTemp(Proj)))
75
76
77
78
79
80
81
82 template <
typename RangeType,
typename PredicateType>
84 ->
decltype(
AlgoImpl::FindByPredicate(Forward<RangeType>(Range), MoveTemp(Pred)))
FORCEINLINE auto FindByPredicate(RangeType &&Range, PredicateType Pred) -> decltype(AlgoImpl::FindByPredicate(Forward< RangeType >(Range), MoveTemp(Pred)))
FORCEINLINE auto FindBy(RangeType &&Range, const ValueType &Value, ProjectionType Proj) -> decltype(AlgoImpl::FindBy(Forward< RangeType >(Range), Value, MoveTemp(Proj)))
FORCEINLINE auto Find(RangeType &&Range, const ValueType &Value) -> decltype(AlgoImpl::FindBy(Forward< RangeType >(Range), Value, FIdentityFunctor()))
TRangePointerType< typenameTRemoveReference< RangeType >::Type >::Type FindBy(RangeType &&Range, const ValueType &Value, ProjectionType Proj)
TRangePointerType< typenameTRemoveReference< RangeType >::Type >::Type FindByPredicate(RangeType &&Range, PredicateType Pred)