#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 9 of file ESF_Copy_On_Write.i.
00010 : refcount_ (1) 00011 { 00012 } |
|
Decrement the reference count.
Definition at line 24 of file ESF_Copy_On_Write.cpp. References TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR >::collection. Referenced by TAO_ESF_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR, ACE_LOCK >::~TAO_ESF_Copy_On_Write_Read_Guard().
00025 { 00026 // LOCKING: no locking is required, the caller grabs the mutex. 00027 { 00028 this->refcount_--; 00029 if (this->refcount_ != 0) 00030 return this->refcount_; 00031 } 00032 00033 ITERATOR end = this->collection.end (); 00034 for (ITERATOR i = this->collection.begin (); i != end; ++i) 00035 { 00036 (*i)->_decr_refcnt (); 00037 } 00038 00039 delete this; 00040 return 0; 00041 } |
|
Increment the reference count.
Definition at line 17 of file ESF_Copy_On_Write.cpp. Referenced by TAO_ESF_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR, ACE_LOCK >::TAO_ESF_Copy_On_Write_Read_Guard().
00018 { 00019 // LOCKING: no locking is required, the caller grabs the mutex. 00020 return this->refcount_++; 00021 } |
|
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(). |
|
The reference count.
Definition at line 43 of file ESF_Copy_On_Write.h. |