Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR > Class Template Reference

#include <RMCast_Copy_On_Write.h>

Inheritance diagram for ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >:

Inheritance graph
[legend]
Collaboration diagram for ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_RMCast_Copy_On_Write_Collection<
COLLECTION, ITERATOR > 
Collection
 A shorter name for the actual collection type.


Public Methods

 ACE_RMCast_Copy_On_Write_Container (void)
 Constructor.


Protected Attributes

int pending_writes_
 Number of pending writes.

int writing_
 If non-zero then a thread is changing the collection.

ACE_SYNCH_MUTEX mutex_
 A mutex to serialize access to the collection pointer.

ACE_SYNCH_CONDITION cond_
 A condition variable to wait to synchronize multiple writers.

Collectioncollection_
 The collection, with reference counting added.


Friends

class ACE_RMCast_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR >
 Let the Write_Guard access the internal fields.

class ACE_RMCast_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR >
 Let the Read_Guard access the internal fields.


Detailed Description

template<class COLLECTION, class ITERATOR>
class ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >

Base class for the Copy_On_Write collection, used to simplify the declaration of the Write_Guard


Member Typedef Documentation

template<class COLLECTION, class ITERATOR>
typedef ACE_RMCast_Copy_On_Write_Collection<COLLECTION,ITERATOR> ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >::Collection
 

A shorter name for the actual collection type.

Reimplemented in ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >, and ACE_RMCast_Copy_On_Write< ACE_UINT32, ACE_RMCast::Data, Collection, Collection_Iterator >.


Constructor & Destructor Documentation

template<class COLLECTION, class ITERATOR>
ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >::ACE_RMCast_Copy_On_Write_Container void   
 

Constructor.


Friends And Related Function Documentation

template<class COLLECTION, class ITERATOR>
friend class ACE_RMCast_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR > [friend]
 

Let the Read_Guard access the internal fields.

template<class COLLECTION, class ITERATOR>
friend class ACE_RMCast_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR > [friend]
 

Let the Write_Guard access the internal fields.


Member Data Documentation

template<class COLLECTION, class ITERATOR>
Collection* ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >::collection_ [protected]
 

The collection, with reference counting added.

template<class COLLECTION, class ITERATOR>
ACE_SYNCH_CONDITION ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >::cond_ [protected]
 

A condition variable to wait to synchronize multiple writers.

template<class COLLECTION, class ITERATOR>
ACE_SYNCH_MUTEX ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >::mutex_ [protected]
 

A mutex to serialize access to the collection pointer.

template<class COLLECTION, class ITERATOR>
int ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >::pending_writes_ [protected]
 

Number of pending writes.

template<class COLLECTION, class ITERATOR>
int ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >::writing_ [protected]
 

If non-zero then a thread is changing the collection.

Many threads can use the collection simulatenously, but only one change it.


The documentation for this class was generated from the following files:
Generated on Wed Jan 14 22:58:21 2004 for ACE_RMCast by doxygen1.2.18