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

# ACE_RMCast_Copy_On_Write_Write_Guard Class Template Reference

Implement the write guard for a reference counted collecion. More...

`#include <RMCast_Copy_On_Write.h>`

Collaboration diagram for ACE_RMCast_Copy_On_Write_Write_Guard:

[legend]
List of all members.

## Public Types
typedef ACE_RMCast_Copy_On_Write_Collection< COLLECTION, ITERATOR > | Collection
typedef ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR > | Container
## Public Methods
| ACE_RMCast_Copy_On_Write_Write_Guard (Container &container)
| Constructor. More...
| ~ACE_RMCast_Copy_On_Write_Write_Guard (void)
| Destructor. More...
## Public Attributes
Collection * | copy
| The collection. More...
## Private Attributes
ACE_SYNCH_MUTEX & | mutex
| Keep a reference to the mutex. More...
ACE_SYNCH_CONDITION & | cond
| Keep a reference to the condition variable. More...
int & | pending_writes
| Use a reference to update the pending writes count. More...
int & | writing_flag
| Use a reference to update the writing flag. More...
Collection *& | collection
| Use this reference to update the collection once the modifications are finished. More...

## Detailed Description

### template<class COLLECTION, class ITERATOR>
class ACE_RMCast_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR >

Implement the write guard for a reference counted collecion.

This helper class atomically increments the reference count of a ACE_RMCast_Copy_On_Write_Collection and reads the current collection in the Copy_On_Write class.

## Member Typedef Documentation

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

template<class COLLECTION, class ITERATOR>
typedef ACE_RMCast_Copy_On_Write_Container<COLLECTION,ITERATOR> ACE_RMCast_Copy_On_Write_Write_Guard::Container

## Constructor & Destructor Documentation

template<class COLLECTION, class ITERATOR>
ACE_RMCast_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR >::ACE_RMCast_Copy_On_Write_Write_Guard | ( | Container & | container | ) |

| Constructor.

template<class COLLECTION, class ITERATOR>
ACE_RMCast_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR >::~ACE_RMCast_Copy_On_Write_Write_Guard | ( | void |  | ) |

| Destructor.

## Member Data Documentation

template<class COLLECTION, class ITERATOR>
Collection*& ACE_RMCast_Copy_On_Write_Write_Guard::collection`[private]`

| Use this reference to update the collection once the modifications are finished.

template<class COLLECTION, class ITERATOR>
ACE_SYNCH_CONDITION& ACE_RMCast_Copy_On_Write_Write_Guard::cond`[private]`

| Keep a reference to the condition variable.

template<class COLLECTION, class ITERATOR>
Collection* ACE_RMCast_Copy_On_Write_Write_Guard::copy

| The collection.

template<class COLLECTION, class ITERATOR>
ACE_SYNCH_MUTEX& ACE_RMCast_Copy_On_Write_Write_Guard::mutex`[private]`

| Keep a reference to the mutex.

template<class COLLECTION, class ITERATOR>
int& ACE_RMCast_Copy_On_Write_Write_Guard::pending_writes`[private]`

| Use a reference to update the pending writes count.

template<class COLLECTION, class ITERATOR>
int& ACE_RMCast_Copy_On_Write_Write_Guard::writing_flag`[private]`

| Use a reference to update the writing flag.

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

- RMCast_Copy_On_Write.h
- RMCast_Copy_On_Write.cpp