7#include "Templates/IdentityFunctor.h"
8#include "Templates/Invoke.h"
14 template <
typename InAT,
typename InBT,
typename ProjectionT,
typename PredicateT>
50 template <
typename InAT,
typename InBT>
65 template <
typename InAT,
typename InBT,
typename PredicateT>
80 template <
typename InAT,
typename InBT,
typename ProjectionT>
96 template <
typename InAT,
typename InBT,
typename ProjectionT,
typename PredicateT>
124 template <
typename MapType,
typename KeyLessThanType,
typename ValueLessThanType>
127 using KeyType =
typename MapType::KeyType;
128 using ValueType =
typename MapType::ValueType;
129 if (
A.Num() !=
B.Num())
131 return A.Num() <
B.Num() ? -1 : 1;
141 for (
const auto& Pair :
A)
143 const ValueType*
BValue =
B.Find(Pair.Key);
174 for (
const auto& Pair :
B)
176 if (!
A.Contains(Pair.Key))
193 template <
typename MapType>
199 template <
typename MapType,
typename KeyLessThanType>
223 template <
typename SetType,
typename KeyLessThanType>
226 using KeyType =
typename SetType::ElementType;
227 if (
A.Num() !=
B.Num())
229 return A.Num() <
B.Num() ? -1 : 1;
238 for (
const KeyType&
AKey :
A)
240 if (!
B.Contains(
AKey))
256 for (
const KeyType&
BKey :
B)
258 if (!
A.Contains(
BKey))
275 template <
typename SetType>
AUTORTFM_INFER UE_FORCEINLINE_HINT constexpr auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(((FuncType &&) Func)((ArgTypes &&) Args...))
Definition Invoke.h:44
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
AUTORTFM_INFER constexpr auto Projection(Invocable0Type &&Invocable0, InvocableTypes &&... Invocables)
Definition Projection.h:108
auto GetNum(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Length())
Definition StringConv.h:808
auto GetData(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Get())
Definition StringConv.h:802
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTempIfPossible(T &&Obj) noexcept
Definition UnrealTemplate.h:538
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
constexpr bool Compare(const InAT &InputA, const InBT &InputB, ProjectionT Projection, PredicateT Predicate)
Definition Compare.h:15
Definition ParallelSort.h:13
int CompareMap(const MapType &A, const MapType &B, KeyLessThanType KeyLessThan, ValueLessThanType ValueLessThan)
Definition Compare.h:125
constexpr bool CompareBy(const InAT &InputA, const InBT &InputB, ProjectionT Projection)
Definition Compare.h:81
int CompareSet(const SetType &A, const SetType &B, KeyLessThanType KeyLessThan)
Definition Compare.h:224
constexpr bool Compare(const InAT &InputA, const InBT &InputB)
Definition Compare.h:51
Definition IdentityFunctor.h:11