#include <ESF_Copy_On_Write.h>
Collaboration diagram for TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >:
Public Member Functions | |
TAO_ESF_Copy_On_Write_Collection (void) | |
CORBA::ULong | _incr_refcnt (void) |
Increment the reference count. | |
CORBA::ULong | _decr_refcnt (void) |
Decrement the reference count. | |
Public Attributes | |
COLLECTION | collection |
The actual collection. | |
Private Attributes | |
CORBA::ULong | refcount_ |
The reference count. |
Definition at line 27 of file ESF_Copy_On_Write.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::TAO_ESF_Copy_On_Write_Collection | ( | void | ) |
CORBA::ULong TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::_decr_refcnt | ( | void | ) |
Decrement the reference count.
Definition at line 22 of file ESF_Copy_On_Write.cpp.
References TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::collection, and TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::refcount_.
Referenced by TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::~TAO_ESF_Copy_On_Write(), TAO_ESF_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR, ACE_LOCK >::~TAO_ESF_Copy_On_Write_Read_Guard(), and TAO_ESF_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR, >::~TAO_ESF_Copy_On_Write_Write_Guard().
00023 { 00024 // LOCKING: no locking is required, the caller grabs the mutex. 00025 { 00026 --this->refcount_; 00027 if (this->refcount_ != 0) 00028 return this->refcount_; 00029 } 00030 00031 ITERATOR end = this->collection.end (); 00032 for (ITERATOR i = this->collection.begin (); i != end; ++i) 00033 { 00034 (*i)->_decr_refcnt (); 00035 } 00036 00037 delete this; 00038 return 0; 00039 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL CORBA::ULong TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::_incr_refcnt | ( | void | ) |
Increment the reference count.
Definition at line 15 of file ESF_Copy_On_Write.cpp.
References TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::refcount_.
Referenced by TAO_ESF_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR, ACE_LOCK >::TAO_ESF_Copy_On_Write_Read_Guard().
00016 { 00017 // LOCKING: no locking is required, the caller grabs the mutex. 00018 return this->refcount_++; 00019 }
COLLECTION TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::collection |
The actual collection.
Definition at line 39 of file ESF_Copy_On_Write.h.
Referenced by TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::_decr_refcnt(), TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::connected(), TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::disconnected(), TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::for_each(), TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::reconnected(), TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::shutdown(), and TAO_ESF_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR, >::TAO_ESF_Copy_On_Write_Write_Guard().
CORBA::ULong TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::refcount_ [private] |
The reference count.
Definition at line 43 of file ESF_Copy_On_Write.h.
Referenced by TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::_decr_refcnt(), and TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::_incr_refcnt().