5#include "Algo/BinarySearch.h"
6#include "Containers/Array.h"
12#include "Templates/IdentityFunctor.h"
37 bool operator<(
const FInvocationKey& Element)
const
39 return Id.GetName().FastLess(Element.Id.GetName());
43 struct FInvocationElement
53 friend bool operator<(
const FInvocationElement&
A,
const FInvocationKey&
B)
57 friend bool operator<(
const FInvocationKey&
A,
const FInvocationElement&
B)
63 return A.Key.Id.GetName().FastLess(
B.GetName());
67 return A.GetName().FastLess(
B.Key.Id.GetName());
125 int32 LowerBound(
const FInvocationKey&
InKey)
const
137 int32 UpperBound(
const FInvocationKey&
InKey)
const
143 void ExecuteLockOperations();
145 void CompleteRemove(FRemoveResult& Result)
const;
146 template<
typename TRemoveOrUnbind>
150 InvocationListType Delegates;
151 int16 DelegateLockCount = 0;
152 int16 CompactionCount = 0;
153 uint16 AddedEmplaceAt = std::numeric_limits<uint16>::max();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const void * FDelegateUserObjectConst
Definition IDelegateInstance.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
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
TDelegate< void(UObject *, UE::FieldNotification::FFieldId), FNotThreadSafeNotCheckedDelegateUserPolicy > FFieldValueChangedDelegate
Definition INotifyFieldValueChanged.h:29
Definition DelegateSignatureImpl.inl:310
Definition FieldNotificationDelegate.h:26
friend bool operator<(const FFieldId &A, const FInvocationElement &B)
Definition FieldNotificationDelegate.h:65
FIELDNOTIFICATION_API void Reset()
Definition FieldNotificationDelegate.cpp:446
FIELDNOTIFICATION_API TArray< FDelegateView > GetView() const
Definition FieldNotificationDelegate.cpp:515
friend bool operator<(const FInvocationElement &A, const FFieldId &B)
Definition FieldNotificationDelegate.h:61
friend bool operator<(const FInvocationKey &A, const FInvocationElement &B)
Definition FieldNotificationDelegate.h:57
friend bool operator<(const FInvocationElement &A, const FInvocationKey &B)
Definition FieldNotificationDelegate.h:53
INotifyFieldValueChanged::FFieldValueChangedDelegate FDelegate
Definition FieldNotificationDelegate.h:28
FIELDNOTIFICATION_API FRemoveAllResult RemoveAll(const UObject *InObject, FDelegateUserObjectConst InUserObject)
Definition FieldNotificationDelegate.cpp:293
FIELDNOTIFICATION_API FRemoveFromResult RemoveFrom(const UObject *InObject, FFieldId InFieldId, FDelegateHandle InDelegate)
Definition FieldNotificationDelegate.cpp:208
FIELDNOTIFICATION_API void Broadcast(UObject *InObject, FFieldId InFieldId)
Definition FieldNotificationDelegate.cpp:409
FFieldValueChangedDynamicDelegate FDynamicDelegate
Definition FieldNotificationDelegate.h:29
SizeType UpperBoundInternal(RangeValueType *First, const SizeType Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
Definition BinarySearch.h:56
SizeType LowerBoundInternal(RangeValueType *First, const SizeType Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
Definition BinarySearch.h:23
Definition FieldNotificationLibrary.cpp:16
U16 Index
Definition radfft.cpp:71
Definition IdentityFunctor.h:11
Definition WeakObjectPtrTemplates.h:25
Definition FieldNotificationId.h:16
Definition FieldNotificationDelegate.h:107
const UObject * KeyObject
Definition FieldNotificationDelegate.h:111
const UObject * BindingObject
Definition FieldNotificationDelegate.h:113
FFieldId KeyField
Definition FieldNotificationDelegate.h:112
FDelegateView(const UObject *InKeyObj, FFieldId InKeyId, const UObject *InObj, FName InFunction)
Definition FieldNotificationDelegate.h:108
FName BindingFunctionName
Definition FieldNotificationDelegate.h:114
Definition FieldNotificationDelegate.h:95
int32 RemoveCount
Definition FieldNotificationDelegate.h:96
TBitArray HasFields
Definition FieldNotificationDelegate.h:97
Definition FieldNotificationDelegate.h:87
bool bHasOtherBoundDelegates
Definition FieldNotificationDelegate.h:89
bool bRemoved
Definition FieldNotificationDelegate.h:88
Definition FieldNotificationDelegate.h:77
FFieldId FieldId
Definition FieldNotificationDelegate.h:81
bool bHasOtherBoundDelegates
Definition FieldNotificationDelegate.h:79
bool bRemoved
Definition FieldNotificationDelegate.h:78
const UObject * Object
Definition FieldNotificationDelegate.h:80