UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
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 >
void EnableSharedFromThis (SharedPtrType *InSharedPtrOrRef, ObjectType const *InObject)
 

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()

template<class SharedPtrType , class ObjectType >
void SharedPointerInternals::EnableSharedFromThis ( SharedPtrType InSharedPtrOrRef,
ObjectType const *  InObject 
)
inline

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

◆ 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

◆ NewDefaultReferenceController()

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

Creates a reference controller which just calls delete

◆ NewIntrusiveReferenceController()

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

Creates an intrusive reference controller