UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
uLang::CSharedMix Class Reference

#include <SharedPointer.h>

+ Inheritance diagram for uLang::CSharedMix:

Public Member Functions

 CSharedMix ()
 
virtual UE_API ~CSharedMix ()
 
 CSharedMix (const CSharedMix &Other)=delete
 
CSharedMixoperator= (const CSharedMix &Other)=delete
 
uint32_t GetRefCount () const
 

Static Protected Member Functions

template<class ObjectType >
static TSPtrG< ObjectType, false, CHeapRawAllocatorSharedThis (ObjectType *This)
 
template<class ObjectType >
static TSPtrG< const ObjectType, false, CHeapRawAllocatorSharedThis (const ObjectType *This)
 

Friends

template<class ObjectType , bool AllowNull, class AllocatorType , typename... AllocatorArgsType>
class TSPtrG
 
template<class ObjectType , bool AllowNull, class AllocatorType , typename... AllocatorArgsType>
class TSPtrArrayG
 
template<class ObjectType , bool AllowNull, class KeyType , class AllocatorType , typename... AllocatorArgsType>
class TSPtrSetG
 

Detailed Description

Mixin super/base class for objects that need to be reference counted.

As a mixin it avoids the (minor) speed cost of virtual function calls and the virtual table memory cost (1 pointer). It uses the coding technique known as "mix-in from above"/"Curiously Recurring Template Pattern".

Constructor & Destructor Documentation

◆ CSharedMix() [1/2]

uLang::CSharedMix::CSharedMix ( )
inline

◆ ~CSharedMix()

uLang::CSharedMix::~CSharedMix ( )
virtual

◆ CSharedMix() [2/2]

uLang::CSharedMix::CSharedMix ( const CSharedMix Other)
delete

Member Function Documentation

◆ GetRefCount()

uint32_t uLang::CSharedMix::GetRefCount ( ) const
inline

◆ operator=()

CSharedMix & uLang::CSharedMix::operator= ( const CSharedMix Other)
delete

◆ SharedThis() [1/2]

template<class ObjectType >
static TSPtrG< const ObjectType, false, CHeapRawAllocator > uLang::CSharedMix::SharedThis ( const ObjectType *  This)
inlinestaticprotected

◆ SharedThis() [2/2]

template<class ObjectType >
static TSPtrG< ObjectType, false, CHeapRawAllocator > uLang::CSharedMix::SharedThis ( ObjectType *  This)
inlinestaticprotected

Friends And Related Symbol Documentation

◆ TSPtrArrayG

template<class ObjectType , bool AllowNull, class AllocatorType , typename... AllocatorArgsType>
friend class TSPtrArrayG
friend

◆ TSPtrG

template<class ObjectType , bool AllowNull, class AllocatorType , typename... AllocatorArgsType>
friend class TSPtrG
friend

◆ TSPtrSetG

template<class ObjectType , bool AllowNull, class KeyType , class AllocatorType , typename... AllocatorArgsType>
friend class TSPtrSetG
friend

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