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

ACE_Active_Map_Manager Class Template Reference

Define a map abstraction that associates system generated keys with user specified values. More...

#include <Active_Map_Manager_T.h>

Inheritance diagram for ACE_Active_Map_Manager

Inheritance graph
[legend]
Collaboration diagram for ACE_Active_Map_Manager:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Active_Map_Manager_Key key_type
typedef T mapped_type
typedef ACE_Map_Entry<ACE_Active_Map_Manager_Key,
T> 
ENTRY
typedef ACE_Map_Iterator<ACE_Active_Map_Manager_Key,
T, ACE_Null_Mutex
ITERATOR
typedef ACE_Map_Reverse_Iterator<
ACE_Active_Map_Manager_Key,
T, ACE_Null_Mutex
REVERSE_ITERATOR
typedef ENTRY entry
typedef ITERATOR iterator
typedef REVERSE_ITERATOR reverse_iterator

Public Methods

 ACE_Active_Map_Manager (ACE_Allocator *alloc = 0)
 Initialize a with the .

 ACE_Active_Map_Manager (size_t size, ACE_Allocator *alloc = 0)
 Initialize a with <size> entries.

 ~ACE_Active_Map_Manager (void)
 Close down a and release dynamically allocated resources.

int open (size_t length = ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc = 0)
 Initialize a with size <length>.

int close (void)
 Close down a and release dynamically allocated resources.

int bind (const T &value, ACE_Active_Map_Manager_Key &key)
 Add <value> to the map, and the corresponding key produced by the Active_Map_Manager is returned through <key>.

int bind (const T &value)
 Add <value> to the map. The user does not care about the corresponding key produced by the Active_Map_Manager.

int bind (ACE_Active_Map_Manager_Key &key, T *&internal_value)
int rebind (const ACE_Active_Map_Manager_Key &key, const T &value)
 Reassociate <key> with <value>. The function fails if <key> is not in the map.

int rebind (const ACE_Active_Map_Manager_Key &key, const T &value, T &old_value)
int rebind (const ACE_Active_Map_Manager_Key &key, const T &value, ACE_Active_Map_Manager_Key &old_key, T &old_value)
int find (const ACE_Active_Map_Manager_Key &key, T &value) const
 Locate <value> associated with <key>.

int find (const ACE_Active_Map_Manager_Key &key) const
 Is <key> in the map?

int find (const ACE_Active_Map_Manager_Key &key, T *&internal_value) const
int unbind (const ACE_Active_Map_Manager_Key &key)
 Remove <key> from the map.

int unbind (const ACE_Active_Map_Manager_Key &key, T &value)
 Remove <key> from the map, and return the <value> associated with <key>.

int unbind (const ACE_Active_Map_Manager_Key &key, T *&internal_value)
size_t current_size (void) const
 Return the current size of the map.

size_t total_size (void) const
 Return the total size of the map.

void dump (void) const
 Dump the state of an object.

ACE_Map_Iterator<ACE_Active_Map_Manager_Key,
T, ACE_Null_Mutex
begin (void)
 Return forward iterator.

ACE_Map_Iterator<ACE_Active_Map_Manager_Key,
T, ACE_Null_Mutex
end (void)
ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key,
T, ACE_Null_Mutex
rbegin (void)
 Return reverse iterator.

ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key,
T, ACE_Null_Mutex
rend (void)

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Static Public Methods

const ACE_Active_Map_Manager_Key npos (void)
 Returns a key that cannot be found in the map.


Protected Types

typedef ACE_Map_Manager<ACE_Active_Map_Manager_Key,
T, ACE_Null_Mutex
ACE_AMM_BASE
 Private base class.


Private Methods

void operator= (const ACE_Active_Map_Manager<T> &)
 ACE_Active_Map_Manager (const ACE_Active_Map_Manager<T> &)

Detailed Description

template<class T> template class ACE_Active_Map_Manager

Define a map abstraction that associates system generated keys with user specified values.

Since the key is system generated, searches are very fast and take a constant amount of time.


Member Typedef Documentation

template<classT>
typedef ACE_Map_Manager<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> ACE_Active_Map_Manager<T>::ACE_AMM_BASE [protected]
 

Private base class.

template<classT>
typedef ACE_Map_Entry<ACE_Active_Map_Manager_Key, T> ACE_Active_Map_Manager<T>::ENTRY
 

Reimplemented from ACE_Map_Manager.

template<classT>
typedef ACE_Map_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> ACE_Active_Map_Manager<T>::ITERATOR
 

Reimplemented from ACE_Map_Manager.

template<classT>
typedef ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> ACE_Active_Map_Manager<T>::REVERSE_ITERATOR
 

Reimplemented from ACE_Map_Manager.

template<classT>
typedef ENTRY ACE_Active_Map_Manager<T>::entry
 

template<classT>
typedef ITERATOR ACE_Active_Map_Manager<T>::iterator
 

Reimplemented from ACE_Map_Manager.

template<classT>
typedef ACE_Active_Map_Manager_Key ACE_Active_Map_Manager<T>::key_type
 

template<classT>
typedef T ACE_Active_Map_Manager<T>::mapped_type
 

template<classT>
typedef REVERSE_ITERATOR ACE_Active_Map_Manager<T>::reverse_iterator
 

Reimplemented from ACE_Map_Manager.


Constructor & Destructor Documentation

template<classT>
ACE_INLINE ACE_Active_Map_Manager< T >::ACE_Active_Map_Manager<T> ( ACE_Allocator * alloc = 0 )
 

Initialize a with the .

template<classT>
ACE_INLINE ACE_Active_Map_Manager< T >::ACE_Active_Map_Manager<T> ( size_t size,
ACE_Allocator * alloc = 0 )
 

Initialize a with <size> entries.

template<classT>
ACE_INLINE ACE_Active_Map_Manager< T >::~ACE_Active_Map_Manager<T> ( void )
 

Close down a and release dynamically allocated resources.

template<classT>
ACE_Active_Map_Manager<T>::ACE_Active_Map_Manager<T> ( const ACE_Active_Map_Manager< T >& ) [private]
 


Member Function Documentation

template<classT>
ACE_Map_Iterator< ACE_Active_Map_Manager_Key,T,ACE_Null_Mutex > ACE_Active_Map_Manager< T >::begin ( void )
 

Return forward iterator.

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::bind ( ACE_Active_Map_Manager_Key & key,
T *& internal_value )
 

Reserves a slot in the internal structure and returns the key and a pointer to the value. User should place their <value> into <*internal_value>. This method is useful in reducing the number of copies required in some cases. Note that <internal_value> is only a temporary pointer and will change when the map resizes. Therefore, the user should use the pointer immediately and not hold on to it.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::bind ( const T & value )
 

Add <value> to the map. The user does not care about the corresponding key produced by the Active_Map_Manager.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::bind ( const T & value,
ACE_Active_Map_Manager_Key & key )
 

Add <value> to the map, and the corresponding key produced by the Active_Map_Manager is returned through <key>.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::close ( void )
 

Close down a and release dynamically allocated resources.

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE size_t ACE_Active_Map_Manager< T >::current_size ( void ) const
 

Return the current size of the map.

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE void ACE_Active_Map_Manager< T >::dump ( void ) const
 

Dump the state of an object.

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE ACE_Map_Iterator< ACE_Active_Map_Manager_Key,T,ACE_Null_Mutex > ACE_Active_Map_Manager< T >::end ( void )
 

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::find ( const ACE_Active_Map_Manager_Key & key,
T *& internal_value ) const
 

Locate <value> associated with <key>. The value is returned via <internal_value> and hence a copy is saved. Note that <internal_value> is only a temporary pointer and will change when the map resizes. Therefore, the user should use the pointer immediately and not hold on to it.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::find ( const ACE_Active_Map_Manager_Key & key ) const
 

Is <key> in the map?

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::find ( const ACE_Active_Map_Manager_Key & key,
T & value ) const
 

Locate <value> associated with <key>.

template<classT>
ACE_INLINE const ACE_Active_Map_Manager_Key ACE_Active_Map_Manager< T >::npos ( void ) [static]
 

Returns a key that cannot be found in the map.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::open ( size_t length = ACE_DEFAULT_MAP_SIZE,
ACE_Allocator * alloc = 0 )
 

Initialize a with size <length>.

Reimplemented from ACE_Map_Manager.

template<classT>
void ACE_Active_Map_Manager<T>::operator= ( const ACE_Active_Map_Manager< T >& ) [private]
 

template<classT>
ACE_INLINE ACE_Map_Reverse_Iterator< ACE_Active_Map_Manager_Key,T,ACE_Null_Mutex > ACE_Active_Map_Manager< T >::rbegin ( void )
 

Return reverse iterator.

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::rebind ( const ACE_Active_Map_Manager_Key & key,
const T & value,
ACE_Active_Map_Manager_Key & old_key,
T & old_value )
 

Reassociate <key> with <value>, storing the old key and value into the "out" parameter <old_key> and <old_value>. The function fails if <key> is not in the map.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::rebind ( const ACE_Active_Map_Manager_Key & key,
const T & value,
T & old_value )
 

Reassociate <key> with <value>, storing the old value into the "out" parameter <old_value>. The function fails if <key> is not in the map.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::rebind ( const ACE_Active_Map_Manager_Key & key,
const T & value )
 

Reassociate <key> with <value>. The function fails if <key> is not in the map.

template<classT>
ACE_INLINE ACE_Map_Reverse_Iterator< ACE_Active_Map_Manager_Key,T,ACE_Null_Mutex > ACE_Active_Map_Manager< T >::rend ( void )
 

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE size_t ACE_Active_Map_Manager< T >::total_size ( void ) const
 

Return the total size of the map.

Reimplemented from ACE_Map_Manager.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::unbind ( const ACE_Active_Map_Manager_Key & key,
T *& internal_value )
 

Locate <value> associated with <key>. The value is returned via <internal_value> and hence a copy is saved. Note that <internal_value> is only a temporary pointer and will change when the map resizes or when this slot is reused. Therefore, the user should use the pointer immediately and not hold on to it.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::unbind ( const ACE_Active_Map_Manager_Key & key,
T & value )
 

Remove <key> from the map, and return the <value> associated with <key>.

template<classT>
ACE_INLINE int ACE_Active_Map_Manager< T >::unbind ( const ACE_Active_Map_Manager_Key & key )
 

Remove <key> from the map.


Member Data Documentation

template<classT>
ACE_Active_Map_Manager<T>::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_Map_Manager.


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 11:00:31 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000