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

ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR > Class Template Reference

Implement a copy on write wrapper for a map-like collection. More...

#include <RMCast_Copy_On_Write.h>

Inheritance diagram for ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >:

Inheritance graph
[legend]
Collaboration diagram for ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_RMCast_Copy_On_Write_Read_Guard<
COLLECTION, ITERATOR > 
Read_Guard
 The Read_Guard trait.

typedef ACE_RMCast_Copy_On_Write_Write_Guard<
COLLECTION, ITERATOR > 
Write_Guard
 The Write_Guard trait.

typedef ACE_RMCast_Copy_On_Write_Collection<
COLLECTION, ITERATOR > 
Collection
 The underlying collection type.


Public Methods

 ACE_RMCast_Copy_On_Write (void)
 Constructor.

 ~ACE_RMCast_Copy_On_Write (void)
 Destructor.

int for_each (ACE_RMCast_Worker< KEY, ITEM > *worker)
 Iterate over all the elements invoking
Parameters:
worker  on each one.


KEY first_key (void)
 Get the first key.

int empty (void)
 Return non-zero if the collection is empty.

int bind (KEY const &key, ITEM const &item)
 Add a new element.

int unbind (KEY const &key)
 Remove an element.

int bind_i (Write_Guard &guard, KEY const &key, ITEM const &item)
 Bind assuming the Write_Guard is held.

int unbind_i (Write_Guard &guard, KEY const &key)
 Unbind assuming the Write_Guard is held.


Detailed Description

template<class KEY, class ITEM, class COLLECTION, class ITERATOR>
class ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >

Implement a copy on write wrapper for a map-like collection.


Member Typedef Documentation

template<class KEY, class ITEM, class COLLECTION, class ITERATOR>
typedef ACE_RMCast_Copy_On_Write_Collection<COLLECTION,ITERATOR> ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >::Collection
 

The underlying collection type.

Reimplemented from ACE_RMCast_Copy_On_Write_Container< COLLECTION, ITERATOR >.

template<class KEY, class ITEM, class COLLECTION, class ITERATOR>
typedef ACE_RMCast_Copy_On_Write_Read_Guard<COLLECTION,ITERATOR> ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >::Read_Guard
 

The Read_Guard trait.

template<class KEY, class ITEM, class COLLECTION, class ITERATOR>
typedef ACE_RMCast_Copy_On_Write_Write_Guard<COLLECTION,ITERATOR> ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >::Write_Guard
 

The Write_Guard trait.


Constructor & Destructor Documentation

template<class KEY, class ITEM, class COLLECTION, class ITERATOR>
ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >::ACE_RMCast_Copy_On_Write void   
 

Constructor.

template<class KEY, class ITEM, class COLLECTION, class ITERATOR>
ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >::~ACE_RMCast_Copy_On_Write void   
 

Destructor.


Member Function Documentation

template<class KEY, class ITEM, class C, class I>
int ACE_RMCast_Copy_On_Write< KEY, ITEM, C, I >::bind KEY const &    key,
ITEM const &    item
 

Add a new element.

template<class KEY, class ITEM, class C, class I>
int ACE_RMCast_Copy_On_Write< KEY, ITEM, C, I >::bind_i Write_Guard   guard,
KEY const &    key,
ITEM const &    item
 

Bind assuming the Write_Guard is held.

template<class KEY, class ITEM, class C, class ITERATOR>
int ACE_RMCast_Copy_On_Write< KEY, ITEM, C, ITERATOR >::empty void   
 

Return non-zero if the collection is empty.

template<class KEY, class ITEM, class C, class ITERATOR>
KEY ACE_RMCast_Copy_On_Write< KEY, ITEM, C, ITERATOR >::first_key void   
 

Get the first key.

template<class KEY, class ITEM, class COLLECTION, class ITERATOR>
int ACE_RMCast_Copy_On_Write< KEY, ITEM, COLLECTION, ITERATOR >::for_each ACE_RMCast_Worker< KEY, ITEM > *    worker
 

Iterate over all the elements invoking

Parameters:
worker  on each one.

template<class KEY, class ITEM, class C, class I>
int ACE_RMCast_Copy_On_Write< KEY, ITEM, C, I >::unbind KEY const &    key
 

Remove an element.

template<class KEY, class ITEM, class C, class I>
int ACE_RMCast_Copy_On_Write< KEY, ITEM, C, I >::unbind_i Write_Guard   guard,
KEY const &    key
 

Unbind assuming the Write_Guard is held.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:04:44 2004 for ACE_RMCast by doxygen1.2.18