33 ObjectInstance(nullptr)
48 if (InterfaceInstance !=
nullptr)
61 if (ObjectInstance !=
nullptr)
83 InterfaceInstance =
nullptr;
84 ObjectInstance.
Reset();
100 return InterfaceInstance !=
nullptr && ObjectInstance.
IsValid();
116 return IsValid() ? InterfaceInstance :
nullptr;
124 return ObjectInstance.
Get();
133 return *InterfaceInstance;
142 return InterfaceInstance;
159 ObjectInstance =
Other.GetObject();
160 InterfaceInstance = (T*)
Other.GetInterface();
166 return InterfaceInstance ==
Other.InterfaceInstance;
171 return InterfaceInstance !=
Other.InterfaceInstance;
181 return !(*
this ==
nullptr);
197 return ObjectInstance;
202 T* InterfaceInstance =
nullptr;
#define check(expr)
Definition AssertionMacros.h:314
typename TCopyQualifiersFromTo< From, To >::Type TCopyQualifiersFromTo_T
Definition CopyQualifiersFromTo.h:17
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_REQUIRES(...)
Definition Requires.h:86
UE_REWRITE constexpr T ImplicitConv(typename TIdentity< T >::Type Obj)
Definition UnrealTemplate.h:743
UEBinkAudioDecodeInterface * Interface
Definition binka_ue_decode_test.cpp:24
Definition ScriptInterface.h:139
Definition WeakInterfacePtr.h:18
TWeakInterfacePtr(U &&Object)
Definition WeakInterfacePtr.h:45
UE_FORCEINLINE_HINT TWeakObjectPtr< UObjectType > GetWeakObjectPtr() const
Definition WeakInterfacePtr.h:195
UE_FORCEINLINE_HINT bool operator!=(TYPE_OF_NULLPTR) const
Definition WeakInterfacePtr.h:179
UE_FORCEINLINE_HINT TWeakInterfacePtr()=default
UE_FORCEINLINE_HINT TWeakInterfacePtr(TYPE_OF_NULLPTR)
Definition WeakInterfacePtr.h:32
UE_FORCEINLINE_HINT T * Get() const
Definition WeakInterfacePtr.h:114
UE_FORCEINLINE_HINT ~TWeakInterfacePtr()=default
TWeakInterfacePtr(const TScriptInterface< T > &ScriptInterface)
Definition WeakInterfacePtr.h:72
FORCENOINLINE bool operator==(TYPE_OF_NULLPTR) const
Definition WeakInterfacePtr.h:174
UE_FORCEINLINE_HINT TWeakInterfacePtr(TWeakInterfacePtr &&Other)=default
UE_FORCEINLINE_HINT bool IsValid(bool bEvenIfPendingKill, bool bThreadsafeTest=false) const
Definition WeakInterfacePtr.h:90
UE_FORCEINLINE_HINT TWeakInterfacePtr & operator=(const TWeakInterfacePtr &Other)=default
UE_FORCEINLINE_HINT UObjectType * GetObject() const
Definition WeakInterfacePtr.h:122
UE_FORCEINLINE_HINT bool operator!=(const TWeakInterfacePtr< T > &Other) const
Definition WeakInterfacePtr.h:169
void Reset()
Definition WeakInterfacePtr.h:81
T & operator*() const
Definition WeakInterfacePtr.h:130
TWeakInterfacePtr< T > & operator=(const TScriptInterface< T > &Other)
Definition WeakInterfacePtr.h:157
UE_FORCEINLINE_HINT bool IsStale(bool bEvenIfPendingKill=false, bool bThreadsafeTest=false) const
Definition WeakInterfacePtr.h:106
TCopyQualifiersFromTo_T< T, UObject > UObjectType
Definition WeakInterfacePtr.h:20
TWeakInterfacePtr(T *Interface)
Definition WeakInterfacePtr.h:58
T * operator->() const
Definition WeakInterfacePtr.h:139
UE_FORCEINLINE_HINT TWeakInterfacePtr(const TWeakInterfacePtr &Other)=default
TScriptInterface< T > ToScriptInterface() const
Definition WeakInterfacePtr.h:184
UE_FORCEINLINE_HINT bool operator==(const TWeakInterfacePtr< T > &Other) const
Definition WeakInterfacePtr.h:164
T ElementType
Definition WeakInterfacePtr.h:19
TWeakInterfacePtr< T > & operator=(T *Other)
Definition WeakInterfacePtr.h:148
UE_FORCEINLINE_HINT TWeakInterfacePtr & operator=(TWeakInterfacePtr &&Other)=default
UE_FORCEINLINE_HINT bool IsValid() const
Definition WeakInterfacePtr.h:98
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE void Reset()
Definition WeakObjectPtrTemplates.h:92
FORCEINLINE bool IsStale(bool bIncludingIfPendingKill=true, bool bThreadsafeTest=false) const
Definition WeakObjectPtrTemplates.h:255
FORCEINLINE T * Get(bool bEvenIfPendingKill) const
Definition WeakObjectPtrTemplates.h:132
FORCEINLINE bool IsValid(bool bEvenIfPendingKill, bool bThreadsafeTest=false) const
Definition WeakObjectPtrTemplates.h:232