# ACE_Active_Map_Manager< T > 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< T >:

[legend]
Collaboration diagram for ACE_Active_Map_Manager< T >:

[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 Member Functions

| ACE_Active_Map_Manager (ACE_Allocator *alloc=0)
| Initialize a <active_map_manager> with the <ace_default_map_size>.
| ACE_Active_Map_Manager (size_t size, ACE_Allocator *alloc=0)
| Initialize a <active_map_manager> with <size> entries.
| ~ACE_Active_Map_Manager (void)
int | open (size_t length=ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc=0)
| Initialize a <active_map_manager> with size <length>.
int | close (void)
int | bind (const T &value, ACE_Active_Map_Manager_Key &key)
int | bind (const T &value)
int | bind (ACE_Active_Map_Manager_Key &key, T *&internal_value)
int | rebind (const ACE_Active_Map_Manager_Key &key, const T &value)
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)
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)

## Static Public Member Functions

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

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Protected Types

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

## Private Member Functions

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

## Detailed Description

### template<class T>
class ACE_Active_Map_Manager< T >

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<class T>
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<class T>
typedef ENTRY ACE_Active_Map_Manager< T >::entry

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

| Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

| Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

| Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

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

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

| Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

## Constructor & Destructor Documentation

template<class T>
ACE_INLINE ACE_Active_Map_Manager< T >::ACE_Active_Map_Manager | ( | ACE_Allocator * | alloc = `0` | ) |

| Initialize a <active_map_manager> with the <ace_default_map_size>.

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

| Initialize a <active_map_manager> with <size> entries.

template<class T>
ACE_INLINE ACE_Active_Map_Manager< T >::~ACE_Active_Map_Manager | ( | void |  | ) |

| Close down a <active_map_manager> and release dynamically allocated resources.

template<class T>
ACE_Active_Map_Manager< T >::ACE_Active_Map_Manager | ( | const ACE_Active_Map_Manager< T > & |  | ) | `[private]`

## Member Function Documentation

template<class T>
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< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL 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<class T>
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<class T>
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<class T>
ACE_INLINE int ACE_Active_Map_Manager< T >::close | ( | void |  | ) |

| Close down a <active_map_manager> and release dynamically allocated resources. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

| Dump the state of an object. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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<class T>
ACE_INLINE int ACE_Active_Map_Manager< T >::find | ( | const ACE_Active_Map_Manager_Key & | key | ) | const

| Is <key> in the map? Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

| Locate <value> associated with <key>. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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<class T>
ACE_INLINE int ACE_Active_Map_Manager< T >::open | ( | size_t | length = `ACE_DEFAULT_MAP_SIZE`,
|  | ACE_Allocator * | alloc = `0`
| ) |

| Initialize a <active_map_manager> with size <length>. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

template<class T>
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< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

template<class T>
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<class T>
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>. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

| Remove <key> from the map. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

## Member Data Documentation

template<class T>
ACE_Active_Map_Manager< T >::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.

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

- Active_Map_Manager_T.h
- Active_Map_Manager_T.inl