24template <
typename ObjectType,
typename ReferencerNameProv
ider>
71 UE_REQUIRES(std::is_convertible_v<OtherObjectType*, ObjectType*>)
87 UE_REQUIRES(std::is_convertible_v<OtherObjectType*, ObjectType*>)
98 return *(ObjectType*)
Get();
104 return (ObjectType*)
Get();
109 return Object !=
nullptr;
119 return (ObjectType*)Object;
144 inline ObjectType* Detach()
193 return !
InLHS.IsValid();
198 return !
InRHS.IsValid();
221#if !PLATFORM_COMPILER_HAS_GENERATED_COMPARISON_OPERATORS
229 return InLHS.IsValid();
234 return InRHS.IsValid();
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define UE_REQUIRES(...)
Definition Requires.h:86
#define UE_REQUIRES_EXPR(...)
Definition Requires.h:89
Definition StrongObjectPtrTemplates.h:26
TStrongObjectPtr(ObjectType *InObject)
Definition StrongObjectPtrTemplates.h:57
void Reset()
Definition StrongObjectPtrTemplates.h:122
TStrongObjectPtr & operator=(const TStrongObjectPtr &InOther)
Definition StrongObjectPtrTemplates.h:78
TStrongObjectPtr(TStrongObjectPtr &&InOther)
Definition StrongObjectPtrTemplates.h:30
UE_FORCEINLINE_HINT TStrongObjectPtr(TYPE_OF_NULLPTR=nullptr)
Definition StrongObjectPtrTemplates.h:52
ObjectType * operator->() const
Definition StrongObjectPtrTemplates.h:101
UE_FORCEINLINE_HINT bool IsValid() const
Definition StrongObjectPtrTemplates.h:107
friend UE_FORCEINLINE_HINT bool operator==(const TStrongObjectPtr< LHSObjectType, LHSReferencerNameProvider > &InLHS, const TStrongObjectPtr &InRHS)
Definition StrongObjectPtrTemplates.h:216
friend UE_FORCEINLINE_HINT bool operator==(const TStrongObjectPtr &InLHS, const TStrongObjectPtr< RHSObjectType, RHSReferencerNameProvider > &InRHS)
Definition StrongObjectPtrTemplates.h:206
friend UE_FORCEINLINE_HINT bool operator==(const TStrongObjectPtr &InLHS, const TStrongObjectPtr &InRHS)
Definition StrongObjectPtrTemplates.h:186
UE_FORCEINLINE_HINT TStrongObjectPtr(const TStrongObjectPtr &InOther)
Definition StrongObjectPtrTemplates.h:63
friend UE_FORCEINLINE_HINT bool operator!=(const TStrongObjectPtr &InLHS, const TStrongObjectPtr &InRHS)
Definition StrongObjectPtrTemplates.h:222
friend UE_FORCEINLINE_HINT bool operator==(const TStrongObjectPtr &InLHS, TYPE_OF_NULLPTR)
Definition StrongObjectPtrTemplates.h:191
friend UE_FORCEINLINE_HINT bool operator==(TYPE_OF_NULLPTR, const TStrongObjectPtr &InRHS)
Definition StrongObjectPtrTemplates.h:196
UE_FORCEINLINE_HINT friend uint32 GetTypeHash(const TStrongObjectPtr &InStrongObjectPtr)
Definition StrongObjectPtrTemplates.h:176
UE_FORCEINLINE_HINT TStrongObjectPtr(const TStrongObjectPtr< OtherObjectType, OtherReferencerNameProvider > &InOther)
Definition StrongObjectPtrTemplates.h:73
ObjectType ElementType
Definition StrongObjectPtrTemplates.h:28
void Reset(ObjectType *InNewObject)
Definition StrongObjectPtrTemplates.h:152
TStrongObjectPtr & operator=(const TStrongObjectPtr< OtherObjectType, OtherReferencerNameProvider > &InOther)
Definition StrongObjectPtrTemplates.h:89
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition StrongObjectPtrTemplates.h:117
ObjectType & operator*() const
Definition StrongObjectPtrTemplates.h:95
UE_FORCEINLINE_HINT ~TStrongObjectPtr()
Definition StrongObjectPtrTemplates.h:47
friend UE_FORCEINLINE_HINT bool operator!=(TYPE_OF_NULLPTR, const TStrongObjectPtr &InRHS)
Definition StrongObjectPtrTemplates.h:232
TStrongObjectPtr & operator=(TStrongObjectPtr &&InOther)
Definition StrongObjectPtrTemplates.h:36
friend UE_FORCEINLINE_HINT bool operator!=(const TStrongObjectPtr &InLHS, const TStrongObjectPtr< RHSObjectType, RHSReferencerNameProvider > &InRHS)
Definition StrongObjectPtrTemplates.h:242
friend UE_FORCEINLINE_HINT bool operator!=(const TStrongObjectPtr &InLHS, TYPE_OF_NULLPTR)
Definition StrongObjectPtrTemplates.h:227
friend UE_FORCEINLINE_HINT bool operator!=(const TStrongObjectPtr< LHSObjectType, LHSReferencerNameProvider > &InLHS, const TStrongObjectPtr &InRHS)
Definition StrongObjectPtrTemplates.h:252
Definition StrongObjectPtrTemplates.h:13
COREUOBJECT_API void ReleaseUObject(const UObject *)
Definition StrongObjectPtr.cpp:10
Definition PointerIsConvertibleFromTo.h:60
Definition WeakObjectPtrTemplates.h:25
Definition StrongObjectPtrTemplates.h:15