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 >:

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

[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.
Collection * | collection_
| 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:

- RMCast_Copy_On_Write.h
- RMCast_Copy_On_Write.cpp