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

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

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

- RMCast_Copy_On_Write.h
- RMCast_Copy_On_Write.cpp