ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
etiss::RefCountedObject< allocatorT > Class Template Reference

base refcount class More...

#include <RefCountedObject.h>

Collaboration diagram for etiss::RefCountedObject< allocatorT >:
Collaboration graph
[legend]

Public Types

typedef allocatorT refcount_allocatorT
 

Public Member Functions

 RefCountedObject ()
 
 RefCountedObject (const RefCountedObject &cpy)
 
 RefCountedObject (RefCountedObject &&cpy)
 
virtual ~RefCountedObject ()
 

Private Attributes

size_t refcount
 
allocatorT * allocator
 

Friends

template<typename T_ , typename allocatorT_ >
std::enable_if< std::is_base_of< etiss::RefCountedObject< allocatorT_ >, T_ >::value, bool >::type helper_decRef (T_ *ptr)
 
template<typename T_ , typename allocatorT_ >
std::enable_if< std::is_base_of< etiss::RefCountedObject< allocatorT_ >, T_ >::value, void >::type helper_incRef (T_ *ptr)
 
template<typename T_ , typename allocatorT_ >
std::enable_if< std::is_base_of< etiss::RefCountedObject< allocatorT_ >, T_ >::value, allocatorT_ *& >::type helper_allocator_ptr_ref (T_ *ptr)
 

Detailed Description

template<typename allocatorT>
class etiss::RefCountedObject< allocatorT >

base refcount class

Definition at line 70 of file RefCountedObject.h.

Member Typedef Documentation

◆ refcount_allocatorT

template<typename allocatorT >
typedef allocatorT etiss::RefCountedObject< allocatorT >::refcount_allocatorT

Definition at line 84 of file RefCountedObject.h.

Constructor & Destructor Documentation

◆ RefCountedObject() [1/3]

template<typename allocatorT >
etiss::RefCountedObject< allocatorT >::RefCountedObject ( )
inline

Definition at line 85 of file RefCountedObject.h.

◆ RefCountedObject() [2/3]

template<typename allocatorT >
etiss::RefCountedObject< allocatorT >::RefCountedObject ( const RefCountedObject< allocatorT > &  cpy)
inline

Definition at line 86 of file RefCountedObject.h.

◆ RefCountedObject() [3/3]

template<typename allocatorT >
etiss::RefCountedObject< allocatorT >::RefCountedObject ( RefCountedObject< allocatorT > &&  cpy)
inline

Definition at line 87 of file RefCountedObject.h.

◆ ~RefCountedObject()

template<typename allocatorT >
virtual etiss::RefCountedObject< allocatorT >::~RefCountedObject ( )
inlinevirtual

Definition at line 88 of file RefCountedObject.h.

Friends And Related Function Documentation

◆ helper_allocator_ptr_ref

template<typename allocatorT >
template<typename T_ , typename allocatorT_ >
std::enable_if<std::is_base_of<etiss::RefCountedObject<allocatorT_>, T_>::value, allocatorT_ *&>::type helper_allocator_ptr_ref ( T_ *  ptr)
friend

◆ helper_decRef

template<typename allocatorT >
template<typename T_ , typename allocatorT_ >
std::enable_if<std::is_base_of<etiss::RefCountedObject<allocatorT_>, T_>::value, bool>::type helper_decRef ( T_ *  ptr)
friend

◆ helper_incRef

template<typename allocatorT >
template<typename T_ , typename allocatorT_ >
std::enable_if<std::is_base_of<etiss::RefCountedObject<allocatorT_>, T_>::value, void>::type helper_incRef ( T_ *  ptr)
friend

Member Data Documentation

◆ allocator

template<typename allocatorT >
allocatorT* etiss::RefCountedObject< allocatorT >::allocator
mutableprivate

Definition at line 92 of file RefCountedObject.h.

◆ refcount

template<typename allocatorT >
size_t etiss::RefCountedObject< allocatorT >::refcount
mutableprivate

Definition at line 91 of file RefCountedObject.h.


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