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

Classes

struct  DefaultDeleter
 
struct  FConstCastTag
 
struct  FNullTag
 
struct  FRawPtrProxy
 
class  FReferenceControllerBase
 
struct  FReferenceControllerOps
 
struct  FReferenceControllerOps< ESPMode::NotThreadSafe >
 
struct  FReferenceControllerOps< ESPMode::ThreadSafe >
 
class  FSharedReferencer
 
struct  FStaticCastTag
 
class  FWeakReferencer
 
class  TIntrusiveReferenceController
 
class  TReferenceControllerWithDeleter
 

Functions

template<typename ObjectType >
FReferenceControllerBaseNewDefaultReferenceController (ObjectType *Object)
 
template<typename ObjectType , typename DeleterType >
FReferenceControllerBaseNewCustomReferenceController (ObjectType *Object, DeleterType &&Deleter)
 
template<typename ObjectType , typename... ArgTypes>
TIntrusiveReferenceController< ObjectType > * NewIntrusiveReferenceController (ArgTypes &&... Args)
 
template<class SharedPtrType , class ObjectType , class OtherType , int Mode>
FORCEINLINE void EnableSharedFromThis (TSharedPtr< SharedPtrType, Mode > const *InSharedPtr, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
template<class SharedPtrType , class ObjectType , class OtherType , int Mode>
FORCEINLINE void EnableSharedFromThis (TSharedPtr< SharedPtrType, Mode > *InSharedPtr, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
template<class SharedRefType , class ObjectType , class OtherType , int Mode>
FORCEINLINE void EnableSharedFromThis (TSharedRef< SharedRefType, Mode > const *InSharedRef, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
template<class SharedRefType , class ObjectType , class OtherType , int 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 726 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [2/5]

template<class SharedPtrType , class ObjectType , class OtherType , int Mode>
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 694 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [3/5]

template<class SharedPtrType , class ObjectType , class OtherType , int Mode>
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 683 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [4/5]

template<class SharedRefType , class ObjectType , class OtherType , int Mode>
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 716 of file SharedPointerInternals.h.

◆ EnableSharedFromThis() [5/5]

template<class SharedRefType , class ObjectType , class OtherType , int Mode>
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 705 of file SharedPointerInternals.h.

◆ NewCustomReferenceController()

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

Creates a custom reference controller with a specified deleter

Definition at line 179 of file SharedPointerInternals.h.

◆ NewDefaultReferenceController()

template<typename ObjectType >
FReferenceControllerBase * SharedPointerInternals::NewDefaultReferenceController ( ObjectType * Object)
inline

Creates a reference controller which just calls delete

Definition at line 172 of file SharedPointerInternals.h.

◆ NewIntrusiveReferenceController()

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

Creates an intrusive reference controller

Definition at line 186 of file SharedPointerInternals.h.