ACE  6.4.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR > Class Template Reference

Defines a map implementation. More...

#include <Map_T.h>

Inheritance diagram for ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >:
Collaboration graph
[legend]

Public Types

typedef ACE_Hash_Map_Manager_Ex_Iterator_Adapter< ACE_Reference_Pair< const KEY, VALUE >, KEY, VALUE, HASH_KEY, COMPARE_KEYS > iterator_impl
 
typedef ACE_Hash_Map_Manager_Ex_Reverse_Iterator_Adapter< ACE_Reference_Pair< const KEY, VALUE >, KEY, VALUE, HASH_KEY, COMPARE_KEYS > reverse_iterator_impl
 
typedef ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Muteximplementation
 
- Public Types inherited from ACE_Map< KEY, VALUE >
typedef KEY key_type
 
typedef VALUE mapped_type
 
typedef ACE_Reference_Pair< const KEY, VALUE > value_type
 
typedef ACE_Iterator< value_typeiterator
 
typedef ACE_Reverse_Iterator< value_typereverse_iterator
 
typedef ACE_Iterator_Impl< value_typeiterator_implementation
 
typedef ACE_Reverse_Iterator_Impl< value_typereverse_iterator_implementation
 

Public Member Functions

 ACE_Hash_Map_Manager_Ex_Adapter (ACE_Allocator *alloc=0)
 Initialize with the ACE_DEFAULT_MAP_SIZE. More...
 
 ACE_Hash_Map_Manager_Ex_Adapter (size_t size, ACE_Allocator *alloc=0)
 
virtual ~ACE_Hash_Map_Manager_Ex_Adapter (void)
 Close down and release dynamically allocated resources. More...
 
virtual int open (size_t length=ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc=0)
 Initialize a Map with size length. More...
 
virtual int close (void)
 Close down a Map and release dynamically allocated resources. More...
 
virtual int bind (const KEY &key, const VALUE &value)
 
virtual int bind_modify_key (const VALUE &value, KEY &key)
 
virtual int create_key (KEY &key)
 
virtual int bind_create_key (const VALUE &value, KEY &key)
 
virtual int bind_create_key (const VALUE &value)
 
virtual int recover_key (const KEY &modified_key, KEY &original_key)
 
virtual int rebind (const KEY &key, const VALUE &value)
 
virtual int rebind (const KEY &key, const VALUE &value, VALUE &old_value)
 
virtual int rebind (const KEY &key, const VALUE &value, KEY &old_key, VALUE &old_value)
 
virtual int trybind (const KEY &key, VALUE &value)
 
virtual int find (const KEY &key, VALUE &value)
 Locate value associated with key. More...
 
virtual int find (const KEY &key)
 Is key in the map? More...
 
virtual int unbind (const KEY &key)
 Remove key from the map. More...
 
virtual int unbind (const KEY &key, VALUE &value)
 
virtual size_t current_size (void) const
 Return the current size of the map. More...
 
virtual size_t total_size (void) const
 Return the total size of the map. More...
 
virtual void dump (void) const
 Dump the state of an object. More...
 
ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex > & impl (void)
 Accessor to implementation object. More...
 
KEY_GENERATOR & key_generator (void)
 Accessor to key generator. More...
 
- Public Member Functions inherited from ACE_Map< KEY, VALUE >
virtual ~ACE_Map (void)
 Close down and release dynamically allocated resources. More...
 
iterator begin (void)
 Return forward iterator. More...
 
iterator end (void)
 
reverse_iterator rbegin (void)
 Return reverse iterator. More...
 
reverse_iterator rend (void)
 

Protected Member Functions

virtual ACE_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * begin_impl (void)
 Return forward iterator. More...
 
virtual ACE_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * end_impl (void)
 
virtual ACE_Reverse_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * rbegin_impl (void)
 Return reverse iterator. More...
 
virtual ACE_Reverse_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * rend_impl (void)
 
- Protected Member Functions inherited from ACE_Map< KEY, VALUE >
 ACE_Map (void)
 

Protected Attributes

ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Muteximplementation_
 All implementation details are forwarded to this class. More...
 
KEY_GENERATOR key_generator_
 Functor class used for generating key. More...
 

Private Member Functions

void operator= (const ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR > &)
 
 ACE_Hash_Map_Manager_Ex_Adapter (const ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR > &)
 

Detailed Description

template<class KEY, class VALUE, class HASH_KEY, class COMPARE_KEYS, class KEY_GENERATOR>
class ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >

Defines a map implementation.

Implementation to be provided by ACE_Hash_Map_Manager_Ex.

Member Typedef Documentation

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
typedef ACE_Hash_Map_Manager_Ex<KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex> ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::implementation
template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
typedef ACE_Hash_Map_Manager_Ex_Iterator_Adapter<ACE_Reference_Pair<const KEY, VALUE>, KEY, VALUE, HASH_KEY, COMPARE_KEYS> ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::iterator_impl
template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
typedef ACE_Hash_Map_Manager_Ex_Reverse_Iterator_Adapter<ACE_Reference_Pair<const KEY, VALUE>, KEY, VALUE, HASH_KEY, COMPARE_KEYS> ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::reverse_iterator_impl

Constructor & Destructor Documentation

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::ACE_Hash_Map_Manager_Ex_Adapter ( ACE_Allocator alloc = 0)
inline

Initialize with the ACE_DEFAULT_MAP_SIZE.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::ACE_Hash_Map_Manager_Ex_Adapter ( size_t  size,
ACE_Allocator alloc = 0 
)
inline

Initialize with size entries. The size parameter is ignored by maps for which an initialize size does not make sense.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::~ACE_Hash_Map_Manager_Ex_Adapter ( void  )
virtual

Close down and release dynamically allocated resources.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::ACE_Hash_Map_Manager_Ex_Adapter ( const ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR > &  )
private

Member Function Documentation

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::begin_impl ( void  )
protectedvirtual

Return forward iterator.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::bind ( const KEY &  key,
const VALUE &  value 
)
virtual

Add key / value pair to the map. If key is already in the map then no changes are made and 1 is returned. Returns 0 on a successful addition. This function fails for maps that do not allow user specified keys. key is an "in" parameter.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::bind_create_key ( const VALUE &  value,
KEY &  key 
)
virtual

Add value to the map, and the corresponding key produced by the Map is returned through key which is an "out" parameter. For maps that do not naturally produce keys, the map adapters will use the KEY_GENERATOR class to produce a key. However, the users are responsible for not jeopardizing this key production scheme by using user specified keys with keys produced by the key generator.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::bind_create_key ( const VALUE &  value)
virtual

Add value to the map. The user does not care about the corresponding key produced by the Map. For maps that do not naturally produce keys, the map adapters will use the KEY_GENERATOR class to produce a key. However, the users are responsible for not jeopardizing this key production scheme by using user specified keys with keys produced by the key generator.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::bind_modify_key ( const VALUE &  value,
KEY &  key 
)
virtual

Add key / value pair to the map. key is an "inout" parameter and maybe modified/extended by the map to add additional information. To recover original key, call the <recover_key> method.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::close ( void  )
virtual

Close down a Map and release dynamically allocated resources.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::create_key ( KEY &  key)
virtual

Produce a key and return it through key which is an "out" parameter. For maps that do not naturally produce keys, the map adapters will use the KEY_GENERATOR class to produce a key. However, the users are responsible for not jeopardizing this key production scheme by using user specified keys with keys produced by the key generator.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
size_t ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::current_size ( void  ) const
virtual

Return the current size of the map.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
void ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::dump ( void  ) const
virtual

Dump the state of an object.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::end_impl ( void  )
protectedvirtual

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::find ( const KEY &  key,
VALUE &  value 
)
virtual

Locate value associated with key.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::find ( const KEY &  key)
virtual

Is key in the map?

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex > & ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::impl ( void  )
inline

Accessor to implementation object.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
KEY_GENERATOR & ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::key_generator ( void  )
inline

Accessor to key generator.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::open ( size_t  length = ACE_DEFAULT_MAP_SIZE,
ACE_Allocator alloc = 0 
)
virtual

Initialize a Map with size length.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
void ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::operator= ( const ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR > &  )
private
template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Reverse_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::rbegin_impl ( void  )
protectedvirtual

Return reverse iterator.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::rebind ( const KEY &  key,
const VALUE &  value 
)
virtual

Reassociate key with value. The function fails if key is not in the map for maps that do not allow user specified keys. However, for maps that allow user specified keys, if the key is not in the map, a new key / value association is created.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::rebind ( const KEY &  key,
const VALUE &  value,
VALUE &  old_value 
)
virtual

Reassociate key with value, storing the old value into the "out" parameter old_value. The function fails if key is not in the map for maps that do not allow user specified keys. However, for maps that allow user specified keys, if the key is not in the map, a new key / value association is created.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::rebind ( const KEY &  key,
const VALUE &  value,
KEY &  old_key,
VALUE &  old_value 
)
virtual

Reassociate key with value, storing the old key and value into the "out" parameters old_key and old_value. The function fails if key is not in the map for maps that do not allow user specified keys. However, for maps that allow user specified keys, if the key is not in the map, a new key / value association is created.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::recover_key ( const KEY &  modified_key,
KEY &  original_key 
)
virtual

Recovers the original key potentially modified by the map during bind_modify_key().

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Reverse_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::rend_impl ( void  )
protectedvirtual

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
size_t ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::total_size ( void  ) const
virtual

Return the total size of the map.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::trybind ( const KEY &  key,
VALUE &  value 
)
virtual

Associate key with value if and only if key is not in the map. If key is already in the map, then the value parameter is overwritten with the existing value in the map. Returns 0 if a new key / value association is created. Returns 1 if an attempt is made to bind an existing entry. This function fails for maps that do not allow user specified keys.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::unbind ( const KEY &  key)
virtual

Remove key from the map.

Implements ACE_Map< KEY, VALUE >.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
int ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::unbind ( const KEY &  key,
VALUE &  value 
)
virtual

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

Implements ACE_Map< KEY, VALUE >.

Member Data Documentation

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
ACE_Hash_Map_Manager_Ex<KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex> ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::implementation_
protected

All implementation details are forwarded to this class.

template<class KEY , class VALUE , class HASH_KEY , class COMPARE_KEYS , class KEY_GENERATOR >
KEY_GENERATOR ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::key_generator_
protected

Functor class used for generating key.


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