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:
Inheritance graph
[legend]

List of all members.


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 44 of file intrusive_refcount.hh.


Public Types

typedef unsigned  refcount_t
  reference count type

Public Member Functions

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

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)

Member Typedef Documentation

typedef unsigned senf::intrusive_refcount_base::
refcount_t

reference count type

Definition at line 48 of file intrusive_refcount.hh.


Constructor & Destructor Documentation

senf::intrusive_refcount_base::
~intrusive_refcount_base ()

Definition at line 35 of file intrusive_refcount.cc.

senf::intrusive_refcount_base::
intrusive_refcount_base ()

Definition at line 46 of file intrusive_refcount.cci.


Member Function Documentation

void senf::intrusive_refcount_base::
add_ref ()

Definition at line 50 of file intrusive_refcount.cci.

bool senf::intrusive_refcount_base::
is_shared ()

return true if refcount() > 1

Definition at line 40 of file intrusive_refcount.cci.

senf::intrusive_refcount_base::refcount_t senf::intrusive_refcount_base::
refcount ()

current refcount

Definition at line 34 of file intrusive_refcount.cci.

bool senf::intrusive_refcount_base::
release ()

Definition at line 55 of file intrusive_refcount.cci.


Friends And Related Function Documentation

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 )

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