senf::intrusive_refcount_base Class Reference

Reference count mixin interface baseclass. More...

#include <senf/Utils/intrusive_refcount.hh>

Inheritance diagram for senf::intrusive_refcount_base:

Public Types

typedef unsigned refcount_t
 reference count type More...
 

Public Member Functions

virtual ~intrusive_refcount_base ()
 
refcount_t refcount () const
 current refcount More...
 
bool is_shared () const
 return true if refcount() > 1 More...
 

Protected Member Functions

 intrusive_refcount_base ()
 
void add_ref ()
 
bool release ()
 

Friends

template<class S >
void senf::intrusive_ptr_add_ref (intrusive_refcount_t< S > const *p)
 
template<class S >
void senf::intrusive_ptr_release (intrusive_refcount_t< S > const *p)
 

Detailed Description

Reference count mixin interface baseclass.

This class is the baseclass of all intrusive refcount mixins. See intrusive_refcount_t and intrusive_refcount for more information.

Definition at line 41 of file intrusive_refcount.hh.

Member Typedef Documentation

◆ refcount_t

reference count type

Definition at line 45 of file intrusive_refcount.hh.

Constructor & Destructor Documentation

◆ ~intrusive_refcount_base()

virtual senf::intrusive_refcount_base::~intrusive_refcount_base ( )
virtual

◆ intrusive_refcount_base()

senf::intrusive_refcount_base::intrusive_refcount_base ( )
protected

Member Function Documentation

◆ add_ref()

void senf::intrusive_refcount_base::add_ref ( )
protected

◆ is_shared()

bool senf::intrusive_refcount_base::is_shared ( ) const

return true if refcount() > 1

◆ refcount()

refcount_t senf::intrusive_refcount_base::refcount ( ) const

current refcount

◆ release()

bool senf::intrusive_refcount_base::release ( )
protected

Friends And Related Function Documentation

◆ senf::intrusive_ptr_add_ref

template<class S >
void senf::intrusive_ptr_add_ref ( intrusive_refcount_t< S > const *  p)
friend

◆ senf::intrusive_ptr_release

template<class S >
void senf::intrusive_ptr_release ( intrusive_refcount_t< S > const *  p)
friend

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