template<class ObjectType, int Mode>
class TSharedFromThis< ObjectType, Mode >
Derive your class from TSharedFromThis to enable access to a TSharedRef directly from an object instance that's already been allocated. Use the optional Mode template argument for thread-safety.
Definition at line 1165 of file SharedPointer.h.
template<class ObjectType , int Mode>
FORCEINLINE bool TSharedFromThis< ObjectType, Mode >::DoesSharedInstanceExist |
( |
| ) |
const |
|
inline |
Checks whether our referenced instance is valid (ie, whether it's safe to call AsShared). If this returns false, it means that your instance has either:
- Not yet been assigned to a shared pointer (via MakeShared or MakeShareable).
- Is currently within its constructor (so the shared instance isn't yet available).
- Is currently within its destructor (so the shared instance is no longer available).
Definition at line 1290 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<class OtherType >
static FORCEINLINE TSharedRef< OtherType const, Mode > TSharedFromThis< ObjectType, Mode >::SharedThis |
( |
const OtherType * | ThisPtr | ) |
|
|
inlinestaticprotected |
Provides access to a shared reference to an object, given the object's 'this' pointer. Uses the 'this' pointer to derive the object's actual type, then casts and returns an appropriately typed shared reference. Intentionally declared 'protected', as should only be called when the 'this' pointer can be passed.
- Returns
- Returns this object as a shared pointer (const)
Definition at line 1248 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<class OtherType >
Provides access to a shared reference to an object, given the object's 'this' pointer. Uses the 'this' pointer to derive the object's actual type, then casts and returns an appropriately typed shared reference. Intentionally declared 'protected', as should only be called when the 'this' pointer can be passed.
- Returns
- Returns this object as a shared pointer
Definition at line 1234 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<class SharedPtrType , class OtherType >
FORCEINLINE void TSharedFromThis< ObjectType, Mode >::UpdateWeakReferenceInternal |
( |
TSharedPtr< SharedPtrType, Mode > const * | InSharedPtr, |
|
|
OtherType * | InObject ) const |
|
inline |
INTERNAL USE ONLY – Do not call this method. Freshens the internal weak pointer object using the supplied object pointer along with the authoritative shared reference to the object. Note that until this function is called, calls to AsShared() will result in an empty pointer.
Definition at line 1261 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<class SharedRefType , class OtherType >
FORCEINLINE void TSharedFromThis< ObjectType, Mode >::UpdateWeakReferenceInternal |
( |
TSharedRef< SharedRefType, Mode > const * | InSharedRef, |
|
|
OtherType * | InObject ) const |
|
inline |
INTERNAL USE ONLY – Do not call this method. Freshens the internal weak pointer object using the supplied object pointer along with the authoritative shared reference to the object. Note that until this function is called, calls to AsShared() will result in an empty pointer.
Definition at line 1275 of file SharedPointer.h.