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

# ACE_RMCast_Copy_On_Write_Container Class Template Reference

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

`#include <RMCast_Copy_On_Write.h>`

Inheritance diagram for ACE_RMCast_Copy_On_Write_Container:

[legend]
Collaboration diagram for ACE_RMCast_Copy_On_Write_Container:

[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. More...
## Public Methods
| ACE_RMCast_Copy_On_Write_Container (void)
| Constructor. More...
## Protected Attributes
int | pending_writes_
| Number of pending writes. More...
int | writing_
| If non-zero then a thread is changing the collection. More...
ACE_SYNCH_MUTEX | mutex_
| A mutex to serialize access to the collection pointer. More...
ACE_SYNCH_CONDITION | cond_
| A condition variable to wait to synchronize multiple writers. More...
Collection * | collection_
| The collection, with reference counting added. More...
## Friends
class | ACE_RMCast_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR >
| Let the Write_Guard access the internal fields. More...
class | ACE_RMCast_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR >
| Let the Read_Guard access the internal fields. More...

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

| A shorter name for the actual collection type. Reimplemented in ACE_RMCast_Copy_On_Write, 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_`[protected]`

| The collection, with reference counting added.

template<class COLLECTION, class ITERATOR>
ACE_SYNCH_CONDITION ACE_RMCast_Copy_On_Write_Container::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::mutex_`[protected]`

| A mutex to serialize access to the collection pointer.

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

| Number of pending writes.

template<class COLLECTION, class ITERATOR>
int ACE_RMCast_Copy_On_Write_Container::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