Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode > Class Template Reference

#include <SharedPointerInternals.h>

+ Inheritance diagram for SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >:
+ Collaboration diagram for SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >:

Public Member Functions

 TReferenceControllerWithDeleter (ObjectType *InObject, DeleterType &&Deleter)
 
virtual void DestroyObject () override
 
 TReferenceControllerWithDeleter (const TReferenceControllerWithDeleter &)=delete
 
TReferenceControllerWithDeleteroperator= (const TReferenceControllerWithDeleter &)=delete
 
- Public Member Functions inherited from SharedPointerInternals::TReferenceControllerBase< Mode >
FORCEINLINE TReferenceControllerBase ()=default
 
virtual ~TReferenceControllerBase ()
 
FORCEINLINE int32 GetSharedReferenceCount () const
 
FORCEINLINE bool IsUnique () const
 
FORCEINLINE void AddSharedReference ()
 
bool ConditionallyAddSharedReference ()
 
FORCEINLINE void ReleaseSharedReference ()
 
FORCEINLINE void AddWeakReference ()
 
void ReleaseWeakReference ()
 
 TReferenceControllerBase (const TReferenceControllerBase &)=delete
 
TReferenceControllerBaseoperator= (const TReferenceControllerBase &)=delete
 

Private Attributes

ObjectTypeObject
 

Additional Inherited Members

- Public Attributes inherited from SharedPointerInternals::TReferenceControllerBase< Mode >
RefCountType SharedReferenceCount {1}
 
RefCountType WeakReferenceCount {1}
 
- Private Member Functions inherited from SharedPointerInternals::TDeleterHolder< DeleterType, bIsZeroSize >
 TDeleterHolder (DeleterType &&Arg)
 
template<typename ObjectType >
void InvokeDeleter (ObjectType *Object)
 

Detailed Description

template<typename ObjectType, typename DeleterType, ESPMode Mode>
class SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >

Definition at line 319 of file SharedPointerInternals.h.

Constructor & Destructor Documentation

◆ TReferenceControllerWithDeleter() [1/2]

template<typename ObjectType , typename DeleterType , ESPMode Mode>
SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >::TReferenceControllerWithDeleter ( ObjectType * InObject,
DeleterType && Deleter )
inlineexplicit

Definition at line 322 of file SharedPointerInternals.h.

◆ TReferenceControllerWithDeleter() [2/2]

template<typename ObjectType , typename DeleterType , ESPMode Mode>
SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >::TReferenceControllerWithDeleter ( const TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode > & )
delete

Member Function Documentation

◆ DestroyObject()

template<typename ObjectType , typename DeleterType , ESPMode Mode>
virtual void SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >::DestroyObject ( )
inlineoverridevirtual

Destroys the object associated with this reference counter.

Implements SharedPointerInternals::TReferenceControllerBase< Mode >.

Definition at line 328 of file SharedPointerInternals.h.

◆ operator=()

Member Data Documentation

◆ Object

template<typename ObjectType , typename DeleterType , ESPMode Mode>
ObjectType* SharedPointerInternals::TReferenceControllerWithDeleter< ObjectType, DeleterType, Mode >::Object
private

The object associated with this reference counter.

Definition at line 339 of file SharedPointerInternals.h.


The documentation for this class was generated from the following file: