Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
SharedPointerInternals Namespace Reference

Classes

struct  DefaultDeleter
 
struct  FConstCastTag
 
struct  FNullTag
 
class  FSharedReferencer
 
struct  FStaticCastTag
 
class  FWeakReferencer
 
struct  TDeleterHolder
 
struct  TDeleterHolder< DeleterType, false >
 
class  TIntrusiveReferenceController
 
struct  TRawPtrProxy
 
struct  TRawPtrProxyWithDeleter
 
class  TReferenceControllerBase
 
class  TReferenceControllerWithDeleter
 

Functions

template<ESPMode Mode, typename ObjectType >
TReferenceControllerBase< Mode > * NewDefaultReferenceController (ObjectType *Object)
 
template<ESPMode Mode, typename ObjectType , typename DeleterType >
TReferenceControllerBase< Mode > * NewCustomReferenceController (ObjectType *Object, DeleterType &&Deleter)
 
template<ESPMode Mode, typename ObjectType , typename... ArgTypes>
TIntrusiveReferenceController< ObjectType, Mode > * NewIntrusiveReferenceController (ArgTypes &&... Args)
 
template<class SharedPtrType , class ObjectType , class OtherType , ESPMode Mode>
FORCEINLINE void EnableSharedFromThis (TSharedPtr< SharedPtrType, Mode > const *InSharedPtr, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
template<class SharedPtrType , class ObjectType , class OtherType , ESPMode Mode>
FORCEINLINE void EnableSharedFromThis (TSharedPtr< SharedPtrType, Mode > *InSharedPtr, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
template<class SharedRefType , class ObjectType , class OtherType , ESPMode Mode>
FORCEINLINE void EnableSharedFromThis (TSharedRef< SharedRefType, Mode > const *InSharedRef, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
template<class SharedRefType , class ObjectType , class OtherType , ESPMode Mode>
FORCEINLINE void EnableSharedFromThis (TSharedRef< SharedRefType, Mode > *InSharedRef, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
FORCEINLINE void EnableSharedFromThis (...)
 

Detailed Description

SharedPointerInternals contains internal workings of shared and weak pointers. You should hopefully never have to use anything inside this namespace directly.

Function Documentation

◆ EnableSharedFromThis() [1/5]

FORCEINLINE void SharedPointerInternals::EnableSharedFromThis ( ...)

Templated helper catch-all function, accomplice to the above helper functions

Definition at line 838 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [2/5]

FORCEINLINE void SharedPointerInternals::EnableSharedFromThis ( TSharedPtr< SharedPtrType, Mode > * InSharedPtr,
ObjectType const * InObject,
TSharedFromThis< OtherType, Mode > const * InShareable )

Templated helper function that creates a shared pointer from an object instance

Definition at line 806 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [3/5]

FORCEINLINE void SharedPointerInternals::EnableSharedFromThis ( TSharedPtr< SharedPtrType, Mode > const * InSharedPtr,
ObjectType const * InObject,
TSharedFromThis< OtherType, Mode > const * InShareable )

Templated helper function (const) that creates a shared pointer from an object instance

Definition at line 795 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [4/5]

FORCEINLINE void SharedPointerInternals::EnableSharedFromThis ( TSharedRef< SharedRefType, Mode > * InSharedRef,
ObjectType const * InObject,
TSharedFromThis< OtherType, Mode > const * InShareable )

Templated helper function that creates a shared reference from an object instance

Definition at line 828 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [5/5]

FORCEINLINE void SharedPointerInternals::EnableSharedFromThis ( TSharedRef< SharedRefType, Mode > const * InSharedRef,
ObjectType const * InObject,
TSharedFromThis< OtherType, Mode > const * InShareable )

Templated helper function (const) that creates a shared reference from an object instance

Definition at line 817 of file SharedPointerInternals.h.

◆ NewCustomReferenceController()

template<ESPMode Mode, typename ObjectType , typename DeleterType >
TReferenceControllerBase< Mode > * SharedPointerInternals::NewCustomReferenceController ( ObjectType * Object,
DeleterType && Deleter )
inline

Creates a custom reference controller with a specified deleter

Definition at line 411 of file SharedPointerInternals.h.

◆ NewDefaultReferenceController()

template<ESPMode Mode, typename ObjectType >
TReferenceControllerBase< Mode > * SharedPointerInternals::NewDefaultReferenceController ( ObjectType * Object)
inline

Creates a reference controller which just calls delete

Definition at line 404 of file SharedPointerInternals.h.

◆ NewIntrusiveReferenceController()

template<ESPMode Mode, typename ObjectType , typename... ArgTypes>
TIntrusiveReferenceController< ObjectType, Mode > * SharedPointerInternals::NewIntrusiveReferenceController ( ArgTypes &&... Args)
inline

Creates an intrusive reference controller

Definition at line 418 of file SharedPointerInternals.h.