|
FORCEINLINE T * | Get () const |
|
FORCEINLINE T * | operator-> () const |
|
FORCEINLINE T & | operator* () const |
|
FORCEINLINE | operator bool () const |
|
FORCEINLINE | operator T* () const |
|
| TObjectPtr () |
|
| TObjectPtr (TObjectPtr< T > &&Other)=default |
|
| TObjectPtr (const TObjectPtr< T > &Other)=default |
|
FORCEINLINE | TObjectPtr (ENoInit) |
|
FORCEINLINE | TObjectPtr (TYPE_OF_NULLPTR) |
|
template<typename U , decltype(ImplicitConv< T * >(std::declval< U * >())) * = nullptr> |
FORCEINLINE | TObjectPtr (const TObjectPtr< U > &Other) |
|
template<typename U , std::enable_if_t< !TIsTObjectPtr< std::decay_t< U > >::Value, decltype(ImplicitConv< T * >(std::declval< U >())) > * = nullptr> |
FORCEINLINE | TObjectPtr (U &&Object) |
|
FORCEINLINE | TObjectPtr (TPrivateObjectPtr< T > &&PrivatePtr) |
|
TObjectPtr< T > & | operator= (TObjectPtr< T > &&)=default |
|
TObjectPtr< T > & | operator= (const TObjectPtr< T > &)=default |
|
FORCEINLINE TObjectPtr< T > & | operator= (TYPE_OF_NULLPTR) |
|
template<typename U , decltype(ImplicitConv< T * >(std::declval< U * >())) * = nullptr> |
FORCEINLINE TObjectPtr< T > & | operator= (const TObjectPtr< U > &Other) |
|
template<typename U , std::enable_if_t< !TIsTObjectPtr< std::decay_t< U > >::Value, decltype(ImplicitConv< T * >(std::declval< U >())) > * = nullptr> |
FORCEINLINE TObjectPtr< T > & | operator= (U &&Object) |
|
FORCEINLINE TObjectPtr< T > & | operator= (TPrivateObjectPtr< T > &&PrivatePtr) |
|
template<typename U , typename Base = std::decay_t<decltype(false ? std::declval<std::decay_t<T*>>() : std::declval<std::decay_t<U*>>())>> |
FORCEINLINE bool | operator== (const TObjectPtr< U > &Other) const |
|
FORCEINLINE bool | operator== (TYPE_OF_NULLPTR) const |
|
template<typename U , typename = decltype(ObjectPtr_Private::IsObjectPtrEqual(std::declval<const TObjectPtr<T>&>(), std::declval<U&&>()))> |
FORCEINLINE bool | operator== (U &&Other) const |
|
template<typename U , typename Base = std::decay_t<decltype(false ? std::declval<std::decay_t<T*>>() : std::declval<std::decay_t<U*>>())>> |
FORCEINLINE bool | operator!= (const TObjectPtr< U > &Other) const |
|
FORCEINLINE bool | operator!= (TYPE_OF_NULLPTR) const |
|
template<typename U , typename = decltype(ObjectPtr_Private::IsObjectPtrEqual(std::declval<const TObjectPtr<T>&>(), std::declval<U&&>()))> |
FORCEINLINE bool | operator!= (U &&Other) const |
|
FORCEINLINE T * | Get () const |
|
FORCEINLINE UClass * | GetClass () const |
|
FORCEINLINE | operator T* () const |
|
template<typename U > |
FORCEINLINE | operator U* () const |
|
FORCEINLINE | operator UPTRINT () const |
|
FORCEINLINE T * | operator-> () const |
|
FORCEINLINE T & | operator* () const |
|
FORCEINLINE | operator T*& () |
|
FORCEINLINE bool | IsNull () const |
|
FORCEINLINE bool | IsNullNoResolve () const |
|
FORCEINLINE bool | operator! () const |
|
FORCEINLINE | operator bool () const |
|
FORCEINLINE bool | IsResolved () const |
|
FORCEINLINE FString | GetPath () const |
|
FORCEINLINE FString | GetPathName () const |
|
FORCEINLINE FName | GetFName () const |
|
FORCEINLINE FString | GetName () const |
|
FORCEINLINE FString | GetFullName (EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const |
|
FORCEINLINE FObjectHandle | GetHandle () const |
|
FORCEINLINE bool | IsA (const UClass *SomeBase) const |
|
template<typename U > |
FORCEINLINE bool | IsA () const |
|
FORCEINLINE uint32 | GetPtrTypeHash () const |
|
FORCEINLINE void | SerializePtrStructured (FStructuredArchiveSlot Slot) |
|
TObjectPtr is a type of pointer to a UObject that is meant to function as a drop-in replacement for raw pointer member properties. It is size equivalent to a 64-bit pointer and supports access tracking and optional lazy load behavior in editor builds. It stores either the address to the referenced object or (in editor builds) an index in the object handle table that describes a referenced object that hasn't been loaded yet. It is serialized identically to a raw pointer to a UObject. When resolved, its participation in garbage collection is identical to a raw pointer to a UObject.
This is useful for automatic replacement of raw pointers to support advanced cook-time dependency tracking and editor-time lazy load use cases. See UnrealObjectPtrTool for tooling to automatically replace raw pointer members with FObjectPtr/TObjectPtr members instead.
Definition at line 123 of file UE.h.