Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
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 <atomic>
#include <type_traits>
+ Include dependency graph for SharedPointerInternals.h:
+ This graph shows which files directly or indirectly include this file:

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
 

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<class SharedPtrType , class ObjectType , class OtherType , ESPMode Mode>
FORCEINLINE void SharedPointerInternals::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 SharedPointerInternals::EnableSharedFromThis (TSharedPtr< SharedPtrType, Mode > *InSharedPtr, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
template<class SharedRefType , class ObjectType , class OtherType , ESPMode Mode>
FORCEINLINE void SharedPointerInternals::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 SharedPointerInternals::EnableSharedFromThis (TSharedRef< SharedRefType, Mode > *InSharedRef, ObjectType const *InObject, TSharedFromThis< OtherType, Mode > const *InShareable)
 
FORCEINLINE void SharedPointerInternals::EnableSharedFromThis (...)
 

Macro Definition Documentation

◆ THREAD_SANITISE_UNSAFEPTR

#define THREAD_SANITISE_UNSAFEPTR   0

Default behavior.

Definition at line 17 of file SharedPointerInternals.h.

◆ TSAN_SAFE_UNSAFEPTR

#define TSAN_SAFE_UNSAFEPTR   TSAN_SAFE

Definition at line 22 of file SharedPointerInternals.h.