RigsofRods
Soft-body Physics Simulation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
RefCountingObjectPtr< T > Class Template Reference

#include <RefCountingObjectPtr.h>

Public Member Functions

 RefCountingObjectPtr (T *ref)
 
 RefCountingObjectPtr ()
 
 RefCountingObjectPtr (const RefCountingObjectPtr< T > &other)
 
 ~RefCountingObjectPtr ()
 
RefCountingObjectPtroperator= (const RefCountingObjectPtr< T > &other)
 
bool operator== (const RefCountingObjectPtr< T > &o) const
 
bool operator!= (const RefCountingObjectPtr< T > &o) const
 
bool operator== (const T *o) const
 
bool operator!= (const T *o) const
 
bool operator== (const nullptr_t) const
 
bool operator!= (const nullptr_t) const
 
T * GetRef ()
 
T * GetRef () const
 
T * operator-> ()
 
T * operator-> () const
 
 operator long long () const
 
void EnumReferences (AS_NAMESPACE_QUALIFIER asIScriptEngine *engine)
 
void ReleaseReferences (AS_NAMESPACE_QUALIFIER asIScriptEngine *engine)
 

Static Public Member Functions

static void RegisterRefCountingObjectPtr (AS_NAMESPACE_QUALIFIER asIScriptEngine *engine, const char *handle_name, const char *obj_name)
 

Protected Member Functions

void Set (T *ref)
 
void ReleaseHandle ()
 
void AddRefHandle ()
 

Static Protected Member Functions

static void ConstructDefault (RefCountingObjectPtr< T > *self)
 
static void ConstructCopy (RefCountingObjectPtr< T > *self, const RefCountingObjectPtr &o)
 
static void ConstructRef (RefCountingObjectPtr< T > *self, void **objhandle)
 
static void Destruct (RefCountingObjectPtr< T > *self)
 
static T * OpImplCast (RefCountingObjectPtr< T > *self)
 
static RefCountingObjectPtrOpAssign (RefCountingObjectPtr< T > *self, void **objhandle)
 
static bool OpEquals (RefCountingObjectPtr< T > *self, void **objhandle)
 
static T * DereferenceHandle (void **objhandle)
 

Protected Attributes

T * m_ref
 

Detailed Description

template<class T>
class RefCountingObjectPtr< T >

Definition at line 24 of file RefCountingObjectPtr.h.

Constructor & Destructor Documentation

◆ RefCountingObjectPtr() [1/3]

template<class T >
RefCountingObjectPtr< T >::RefCountingObjectPtr ( T *  ref)
inline

Definition at line 176 of file RefCountingObjectPtr.h.

◆ RefCountingObjectPtr() [2/3]

template<class T >
RefCountingObjectPtr< T >::RefCountingObjectPtr
inline

Definition at line 184 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ RefCountingObjectPtr() [3/3]

template<class T >
RefCountingObjectPtr< T >::RefCountingObjectPtr ( const RefCountingObjectPtr< T > &  other)
inline

Definition at line 191 of file RefCountingObjectPtr.h.

◆ ~RefCountingObjectPtr()

template<class T >
RefCountingObjectPtr< T >::~RefCountingObjectPtr
inline

Definition at line 199 of file RefCountingObjectPtr.h.

Member Function Documentation

◆ AddRefHandle()

template<class T >
void RefCountingObjectPtr< T >::AddRefHandle
inlineprotected

Definition at line 218 of file RefCountingObjectPtr.h.

◆ ConstructCopy()

template<class T >
static void RefCountingObjectPtr< T >::ConstructCopy ( RefCountingObjectPtr< T > *  self,
const RefCountingObjectPtr< T > &  o 
)
inlinestaticprotected

Definition at line 72 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ ConstructDefault()

template<class T >
static void RefCountingObjectPtr< T >::ConstructDefault ( RefCountingObjectPtr< T > *  self)
inlinestaticprotected

Definition at line 71 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ ConstructRef()

template<class T >
void RefCountingObjectPtr< T >::ConstructRef ( RefCountingObjectPtr< T > *  self,
void **  objhandle 
)
inlinestaticprotected

Definition at line 141 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ DereferenceHandle()

template<class T >
T * RefCountingObjectPtr< T >::DereferenceHandle ( void **  objhandle)
staticprotected

Definition at line 134 of file RefCountingObjectPtr.h.

◆ Destruct()

template<class T >
static void RefCountingObjectPtr< T >::Destruct ( RefCountingObjectPtr< T > *  self)
inlinestaticprotected

Definition at line 74 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ EnumReferences()

template<class T >
void RefCountingObjectPtr< T >::EnumReferences ( AS_NAMESPACE_QUALIFIER asIScriptEngine *  engine)
inline

Definition at line 248 of file RefCountingObjectPtr.h.

◆ GetRef() [1/2]

template<class T >
T* RefCountingObjectPtr< T >::GetRef ( )
inline

Definition at line 50 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ GetRef() [2/2]

template<class T >
T* RefCountingObjectPtr< T >::GetRef ( ) const
inline

Definition at line 51 of file RefCountingObjectPtr.h.

◆ OpAssign()

template<class T >
RefCountingObjectPtr< T > & RefCountingObjectPtr< T >::OpAssign ( RefCountingObjectPtr< T > *  self,
void **  objhandle 
)
inlinestaticprotected

Definition at line 161 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ OpEquals()

template<class T >
bool RefCountingObjectPtr< T >::OpEquals ( RefCountingObjectPtr< T > *  self,
void **  objhandle 
)
inlinestaticprotected

Definition at line 169 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ operator long long()

template<class T >
RefCountingObjectPtr< T >::operator long long ( ) const
inline

Definition at line 56 of file RefCountingObjectPtr.h.

◆ operator!=() [1/3]

template<class T >
bool RefCountingObjectPtr< T >::operator!= ( const  nullptr_t) const
inline

Definition at line 47 of file RefCountingObjectPtr.h.

◆ operator!=() [2/3]

template<class T >
bool RefCountingObjectPtr< T >::operator!= ( const RefCountingObjectPtr< T > &  o) const
inline

Definition at line 39 of file RefCountingObjectPtr.h.

◆ operator!=() [3/3]

template<class T >
bool RefCountingObjectPtr< T >::operator!= ( const T *  o) const
inline

Definition at line 43 of file RefCountingObjectPtr.h.

◆ operator->() [1/2]

template<class T >
T* RefCountingObjectPtr< T >::operator-> ( )
inline

Definition at line 52 of file RefCountingObjectPtr.h.

◆ operator->() [2/2]

template<class T >
T* RefCountingObjectPtr< T >::operator-> ( ) const
inline

Definition at line 53 of file RefCountingObjectPtr.h.

◆ operator=()

template<class T >
RefCountingObjectPtr< T > & RefCountingObjectPtr< T >::operator= ( const RefCountingObjectPtr< T > &  other)
inline

Definition at line 229 of file RefCountingObjectPtr.h.

◆ operator==() [1/3]

template<class T >
bool RefCountingObjectPtr< T >::operator== ( const  nullptr_t) const
inline

Definition at line 46 of file RefCountingObjectPtr.h.

◆ operator==() [2/3]

template<class T >
bool RefCountingObjectPtr< T >::operator== ( const RefCountingObjectPtr< T > &  o) const
inline

Definition at line 38 of file RefCountingObjectPtr.h.

◆ operator==() [3/3]

template<class T >
bool RefCountingObjectPtr< T >::operator== ( const T *  o) const
inline

Definition at line 42 of file RefCountingObjectPtr.h.

◆ OpImplCast()

template<class T >
T * RefCountingObjectPtr< T >::OpImplCast ( RefCountingObjectPtr< T > *  self)
inlinestaticprotected

Definition at line 152 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

◆ RegisterRefCountingObjectPtr()

template<class T >
void RefCountingObjectPtr< T >::RegisterRefCountingObjectPtr ( AS_NAMESPACE_QUALIFIER asIScriptEngine *  engine,
const char *  handle_name,
const char *  obj_name 
)
static

Definition at line 84 of file RefCountingObjectPtr.h.

◆ ReleaseHandle()

template<class T >
void RefCountingObjectPtr< T >::ReleaseHandle
inlineprotected

Definition at line 206 of file RefCountingObjectPtr.h.

◆ ReleaseReferences()

template<class T >
void RefCountingObjectPtr< T >::ReleaseReferences ( AS_NAMESPACE_QUALIFIER asIScriptEngine *  engine)
inline

Definition at line 256 of file RefCountingObjectPtr.h.

◆ Set()

template<class T >
void RefCountingObjectPtr< T >::Set ( T *  ref)
inlineprotected

Definition at line 237 of file RefCountingObjectPtr.h.

+ Here is the caller graph for this function:

Field Documentation

◆ m_ref

template<class T >
T* RefCountingObjectPtr< T >::m_ref
protected

Definition at line 80 of file RefCountingObjectPtr.h.


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