OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AgentRefCount< Derived > Class Template Reference

#include <agent_db.h>

Collaboration diagram for AgentRefCount< Derived >:

Public Member Functions

uint32_t GetRefCount () const
 

Protected Member Functions

 AgentRefCount ()
 
 AgentRefCount (const AgentRefCount &)
 
AgentRefCountoperator= (const AgentRefCount &)
 
virtual ~AgentRefCount ()
 
void swap (AgentRefCount &)
 

Protected Attributes

tbb::mutex back_ref_mutex_
 
std::set< IntrusiveReferrerback_ref_set_
 

Private Attributes

tbb::atomic< uint32_t > refcount_
 

Friends

void intrusive_ptr_add_ref (const Derived *p)
 
void intrusive_ptr_release (const Derived *p)
 
void intrusive_ptr_add_back_ref (const IntrusiveReferrer ref, const Derived *p)
 
void intrusive_ptr_del_back_ref (const IntrusiveReferrer ref, const Derived *p)
 

Detailed Description

template<class Derived>
class AgentRefCount< Derived >

Definition at line 24 of file agent_db.h.

Constructor & Destructor Documentation

template<class Derived>
AgentRefCount< Derived >::AgentRefCount ( )
inlineprotected

Definition at line 56 of file agent_db.h.

template<class Derived>
AgentRefCount< Derived >::AgentRefCount ( const AgentRefCount< Derived > &  )
inlineprotected

Definition at line 57 of file agent_db.h.

template<class Derived>
virtual AgentRefCount< Derived >::~AgentRefCount ( )
inlineprotectedvirtual

Definition at line 59 of file agent_db.h.

Member Function Documentation

template<class Derived>
uint32_t AgentRefCount< Derived >::GetRefCount ( ) const
inline

Definition at line 54 of file agent_db.h.

template<class Derived>
AgentRefCount& AgentRefCount< Derived >::operator= ( const AgentRefCount< Derived > &  )
inlineprotected

Definition at line 58 of file agent_db.h.

template<class Derived>
void AgentRefCount< Derived >::swap ( AgentRefCount< Derived > &  )
inlineprotected

Definition at line 60 of file agent_db.h.

Friends And Related Function Documentation

template<class Derived>
void intrusive_ptr_add_back_ref ( const IntrusiveReferrer  ref,
const Derived *  p 
)
friend

Definition at line 40 of file agent_db.h.

template<class Derived>
void intrusive_ptr_add_ref ( const Derived *  p)
friend

Definition at line 26 of file agent_db.h.

template<class Derived>
void intrusive_ptr_del_back_ref ( const IntrusiveReferrer  ref,
const Derived *  p 
)
friend

Definition at line 47 of file agent_db.h.

template<class Derived>
void intrusive_ptr_release ( const Derived *  p)
friend

Definition at line 33 of file agent_db.h.

Member Data Documentation

template<class Derived>
tbb::mutex AgentRefCount< Derived >::back_ref_mutex_
mutableprotected

Definition at line 60 of file agent_db.h.

template<class Derived>
std::set<IntrusiveReferrer> AgentRefCount< Derived >::back_ref_set_
mutableprotected

Definition at line 63 of file agent_db.h.

template<class Derived>
tbb::atomic<uint32_t> AgentRefCount< Derived >::refcount_
mutableprivate

Definition at line 66 of file agent_db.h.


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