|
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type> |
FORCEINLINE | TSharedRef (OtherType *InObject) |
|
template<typename OtherType , typename DeleterType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type> |
FORCEINLINE | TSharedRef (OtherType *InObject, DeleterType &&InDeleter) |
|
| TSharedRef () |
|
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type> |
FORCEINLINE | TSharedRef (SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy) |
|
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type> |
FORCEINLINE | TSharedRef (TSharedRef< OtherType, Mode > const &InSharedRef) |
|
template<typename OtherType > |
FORCEINLINE | TSharedRef (TSharedRef< OtherType, Mode > const &InSharedRef, SharedPointerInternals::FStaticCastTag) |
|
template<typename OtherType > |
FORCEINLINE | TSharedRef (TSharedRef< OtherType, Mode > const &InSharedRef, SharedPointerInternals::FConstCastTag) |
|
template<typename OtherType > |
FORCEINLINE | TSharedRef (TSharedRef< OtherType, Mode > const &OtherSharedRef, ObjectType *InObject) |
|
FORCEINLINE | TSharedRef (TSharedRef const &InSharedRef) |
|
FORCEINLINE | TSharedRef (TSharedRef &&InSharedRef) |
|
FORCEINLINE TSharedRef & | operator= (TSharedRef const &InSharedRef) |
|
FORCEINLINE TSharedRef & | operator= (TSharedRef &&InSharedRef) |
|
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type> |
FORCEINLINE TSharedRef & | operator= (SharedPointerInternals::FRawPtrProxy< OtherType > const &InRawPtrProxy) |
|
FORCEINLINE ObjectType & | Get () const |
|
FORCEINLINE ObjectType & | operator* () const |
|
FORCEINLINE ObjectType * | operator-> () const |
|
FORCEINLINE const int32 | GetSharedReferenceCount () const |
|
FORCEINLINE const bool | IsUnique () const |
|
|
template<class OtherType > |
void | Init (OtherType *InObject) |
|
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type> |
FORCEINLINE | TSharedRef (TSharedPtr< OtherType, Mode > const &InSharedPtr) |
|
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type> |
FORCEINLINE | TSharedRef (TSharedPtr< OtherType, Mode > &&InSharedPtr) |
|
FORCEINLINE const bool | IsValid () const |
|
FORCEINLINE | TSharedRef (ObjectType *InObject, SharedPointerInternals::FReferenceControllerBase *InSharedReferenceCount) |
|
template<class ObjectType, int Mode>
class TSharedRef< ObjectType, Mode >
TSharedRef is a non-nullable, non-intrusive reference-counted authoritative object reference.
This shared reference will be conditionally thread-safe when the optional Mode template argument is set to ThreadSafe.
Definition at line 141 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type>
Constructs a shared reference that owns the specified object. Must not be nullptr.
- Parameters
-
InObject | Object this shared reference to retain a reference to |
Definition at line 157 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType , typename DeleterType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type>
Constructs a shared reference that owns the specified object. Must not be nullptr.
- Parameters
-
InObject | Object this shared pointer to retain a reference to |
InDeleter | Deleter object used to destroy the object when it is no longer referenced. |
Definition at line 175 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type>
Constructs a shared reference using a proxy reference to a raw pointer. (See MakeShareable()) Must not be nullptr.
- Parameters
-
InRawPtrProxy | Proxy raw pointer that contains the object that the new shared reference will reference |
Definition at line 205 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type>
Constructs a shared reference as a reference to an existing shared reference's object. This constructor is needed so that we can implicitly upcast to base classes.
- Parameters
-
InSharedRef | The shared reference whose object we should create an additional reference to |
Definition at line 228 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType >
Special constructor used internally to statically cast one shared reference type to another. You should never call this constructor directly. Instead, use the StaticCastSharedRef() function. This constructor creates a shared reference as a shared reference to an existing shared reference after statically casting that reference's object. This constructor is needed for static casts.
- Parameters
-
InSharedRef | The shared reference whose object we should create an additional reference to |
Definition at line 242 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType >
Special constructor used internally to cast a 'const' shared reference a 'mutable' reference. You should never call this constructor directly. Instead, use the ConstCastSharedRef() function. This constructor creates a shared reference as a shared reference to an existing shared reference after const casting that reference's object. This constructor is needed for const casts.
- Parameters
-
InSharedRef | The shared reference whose object we should create an additional reference to |
Definition at line 256 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType >
Aliasing constructor used to create a shared reference which shares its reference count with another shared object, but pointing to a different object, typically a subobject.
- Parameters
-
OtherSharedRef | The shared reference whose reference count should be shared. |
InObject | The object pointer to use (instead of the incoming shared pointer's object) |
Definition at line 269 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type>
Converts a shared pointer to a shared reference. The pointer must be valid or an assertion will trigger. NOTE: This explicit conversion constructor is intentionally private. Use 'ToSharedRef()' instead.
- Returns
- Reference to the object
Definition at line 416 of file SharedPointer.h.
template<class ObjectType , int Mode>
template<typename OtherType , typename = typename TEnableIf<TPointerIsConvertibleFromTo<OtherType, ObjectType>::Value>::Type>
Assignment operator replaces this shared reference with the specified shared reference. The object currently referenced by this shared reference will no longer be referenced and will be deleted if there are no other referencers. Must not be nullptr.
- Parameters
-
InRawPtrProxy | Proxy object used to assign the object (see MakeShareable helper function) |
Definition at line 324 of file SharedPointer.h.