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

#include <SharedPointerInternals.h>

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

Public Member Functions

template<typename... ArgTypes>
 TIntrusiveReferenceController (ArgTypes &&... Args)
 
ObjectTypeGetObjectPtr () const
 
virtual void DestroyObject () override
 
 TIntrusiveReferenceController (const TIntrusiveReferenceController &)=delete
 
TIntrusiveReferenceControlleroperator= (const TIntrusiveReferenceController &)=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

TTypeCompatibleBytes< ObjectTypeObjectStorage
 

Additional Inherited Members

- Public Attributes inherited from SharedPointerInternals::TReferenceControllerBase< Mode >
RefCountType SharedReferenceCount {1}
 
RefCountType WeakReferenceCount {1}
 

Detailed Description

template<typename ObjectType, ESPMode Mode>
class SharedPointerInternals::TIntrusiveReferenceController< ObjectType, Mode >

Definition at line 343 of file SharedPointerInternals.h.

Constructor & Destructor Documentation

◆ TIntrusiveReferenceController() [1/2]

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

Definition at line 347 of file SharedPointerInternals.h.

◆ TIntrusiveReferenceController() [2/2]

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

Member Function Documentation

◆ DestroyObject()

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

Destroys the object associated with this reference counter.

Implements SharedPointerInternals::TReferenceControllerBase< Mode >.

Definition at line 377 of file SharedPointerInternals.h.

◆ GetObjectPtr()

template<typename ObjectType , ESPMode Mode>
ObjectType * SharedPointerInternals::TIntrusiveReferenceController< ObjectType, Mode >::GetObjectPtr ( ) const
inline

Definition at line 372 of file SharedPointerInternals.h.

◆ operator=()

Member Data Documentation

◆ ObjectStorage

The object associated with this reference counter.

Definition at line 388 of file SharedPointerInternals.h.


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