UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SharedPointerInternals.h File Reference
#include "CoreTypes.h"
#include "HAL/UnrealMemory.h"
#include "Misc/AssertionMacros.h"
#include "Templates/RemoveReference.h"
#include "Templates/SharedPointerFwd.h"
#include "Templates/TypeCompatibleBytes.h"
#include "AutoRTFM.h"
#include <atomic>
#include <type_traits>

Go to the source code of this file.

Classes

struct  SharedPointerInternals::FStaticCastTag
 
struct  SharedPointerInternals::FConstCastTag
 
struct  SharedPointerInternals::FNullTag
 
class  SharedPointerInternals::TReferenceControllerBase< Mode >
 
struct  SharedPointerInternals::TDeleterHolder< DeleterType, bIsZeroSize >
 
struct  SharedPointerInternals::TDeleterHolder< DeleterType, false >
 
class  SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >
 
class  SharedPointerInternals::TIntrusiveReferenceController< ObjectType, Mode >
 
struct  SharedPointerInternals::DefaultDeleter< Type >
 
struct  SharedPointerInternals::TRawPtrProxy< ObjectType >
 
struct  SharedPointerInternals::TRawPtrProxyWithDeleter< ObjectType, DeleterType >
 
class  SharedPointerInternals::FSharedReferencer< Mode >
 
class  SharedPointerInternals::FWeakReferencer< Mode >
 

Namespaces

namespace  SharedPointerInternals
 
namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::Private
 implementation
 

Macros

#define THREAD_SANITISE_UNSAFEPTR   0
 
#define TSAN_SAFE_UNSAFEPTR   TSAN_SAFE
 

Functions

template<ESPMode Mode, typename ObjectType >
TReferenceControllerBase< Mode > * SharedPointerInternals::NewDefaultReferenceController (ObjectType *Object)
 
template<ESPMode Mode, typename ObjectType , typename DeleterType >
TReferenceControllerBase< Mode > * SharedPointerInternals::NewCustomReferenceController (ObjectType *Object, DeleterType &&Deleter)
 
template<ESPMode Mode, typename ObjectType , typename... ArgTypes>
TIntrusiveReferenceController< ObjectType, Mode > * SharedPointerInternals::NewIntrusiveReferenceController (ArgTypes &&... Args)
 
template<typename T >
constexpr bool IsDerivedFromSharedFromThis ()
 
template<class SharedPtrType , class ObjectType >
void SharedPointerInternals::EnableSharedFromThis (SharedPtrType *InSharedPtrOrRef, ObjectType const *InObject)
 

Macro Definition Documentation

◆ THREAD_SANITISE_UNSAFEPTR

#define THREAD_SANITISE_UNSAFEPTR   0

Default behavior.

◆ TSAN_SAFE_UNSAFEPTR

#define TSAN_SAFE_UNSAFEPTR   TSAN_SAFE

Function Documentation

◆ IsDerivedFromSharedFromThis()

template<typename T >
constexpr bool IsDerivedFromSharedFromThis ( )
constexpr