ACE  6.3.4
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
ACE_Map< KEY, VALUE > Class Template Referenceabstract

Defines a map interface. More...

#include <Map_T.h>

Inheritance diagram for ACE_Map< KEY, VALUE >:
Inheritance graph
[legend]

Public Types

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

virtual ~ACE_Map (void)
 Close down and release dynamically allocated resources. More...
 
virtual int open (size_t length=ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc=0)=0
 Initialize a map with size length. More...
 
virtual int close (void)=0
 Close down a <Map> and release dynamically allocated resources. More...
 
virtual int bind (const KEY &key, const VALUE &value)=0
 
virtual int bind_modify_key (const VALUE &value, KEY &key)=0
 
virtual int create_key (KEY &key)=0
 
virtual int bind_create_key (const VALUE &value, KEY &key)=0
 
virtual int bind_create_key (const VALUE &value)=0
 
virtual int recover_key (const KEY &modified_key, KEY &original_key)=0
 
virtual int rebind (const KEY &key, const VALUE &value)=0
 
virtual int rebind (const KEY &key, const VALUE &value, VALUE &old_value)=0
 
virtual int rebind (const KEY &key, const VALUE &value, KEY &old_key, VALUE &old_value)=0
 
virtual int trybind (const KEY &key, VALUE &value)=0
 
virtual int find (const KEY &key, VALUE &value)=0
 Locate value associated with key. More...
 
virtual int find (const KEY &key)=0
 Is key in the map? More...
 
virtual int unbind (const KEY &key)=0
 Remove key from the map. More...
 
virtual int unbind (const KEY &key, VALUE &value)=0
 
virtual size_t current_size (void) const =0
 Return the current size of the map. More...
 
virtual size_t total_size (void) const =0
 Return the total size of the map. More...
 
virtual void dump (void) const =0
 Dump the state of an object. 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

 ACE_Map (void)
 
virtual ACE_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * begin_impl (void)=0
 Return forward iterator. More...
 
virtual ACE_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * end_impl (void)=0
 
virtual ACE_Reverse_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * rbegin_impl (void)=0
 Return reverse iterator. More...
 
virtual ACE_Reverse_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * rend_impl (void)=0
 

Private Member Functions

void operator= (const ACE_Map< KEY, VALUE > &)
 
 ACE_Map (const ACE_Map< KEY, VALUE > &)
 

Detailed Description

template<class KEY, class VALUE>
class ACE_Map< KEY, VALUE >

Defines a map interface.

Implementation to be provided by subclasses.

Member Typedef Documentation

template<class KEY , class VALUE >
typedef ACE_Iterator<value_type> ACE_Map< KEY, VALUE >::iterator
template<class KEY , class VALUE >
typedef ACE_Iterator_Impl<value_type> ACE_Map< KEY, VALUE >::iterator_implementation
template<class KEY , class VALUE >
typedef KEY ACE_Map< KEY, VALUE >::key_type
template<class KEY , class VALUE >
typedef VALUE ACE_Map< KEY, VALUE >::mapped_type
template<class KEY , class VALUE >
typedef ACE_Reverse_Iterator<value_type> ACE_Map< KEY, VALUE >::reverse_iterator
template<class KEY , class VALUE >
typedef ACE_Reverse_Iterator_Impl<value_type> ACE_Map< KEY, VALUE >::reverse_iterator_implementation
template<class KEY , class VALUE >
typedef ACE_Reference_Pair<const KEY, VALUE> ACE_Map< KEY, VALUE >::value_type

Constructor & Destructor Documentation

template<class KEY , class VALUE >
ACE_Map< KEY, VALUE >::~ACE_Map ( void  )
virtual

Close down and release dynamically allocated resources.

template<class KEY , class VALUE >
ACE_Map< KEY, VALUE >::ACE_Map ( void  )
inlineprotected
template<class KEY , class VALUE >
ACE_Map< KEY, VALUE >::ACE_Map ( const ACE_Map< KEY, VALUE > &  )
private

Member Function Documentation

template<class KEY , class VALUE >
ACE_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::begin ( void  )
inline

Return forward iterator.

template<class KEY , class VALUE >
virtual ACE_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::begin_impl ( void  )
protectedpure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::bind ( const KEY &  key,
const VALUE &  value 
)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::bind_create_key ( const VALUE &  value,
KEY &  key 
)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::bind_create_key ( const VALUE &  value)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::bind_modify_key ( const VALUE &  value,
KEY &  key 
)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::close ( void  )
pure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::create_key ( KEY &  key)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual size_t ACE_Map< KEY, VALUE >::current_size ( void  ) const
pure virtual
template<class KEY , class VALUE >
virtual void ACE_Map< KEY, VALUE >::dump ( void  ) const
pure virtual
template<class KEY , class VALUE >
ACE_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::end ( void  )
inline
template<class KEY , class VALUE >
virtual ACE_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::end_impl ( void  )
protectedpure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::find ( const KEY &  key,
VALUE &  value 
)
pure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::find ( const KEY &  key)
pure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::open ( size_t  length = ACE_DEFAULT_MAP_SIZE,
ACE_Allocator alloc = 0 
)
pure virtual
template<class KEY , class VALUE >
void ACE_Map< KEY, VALUE >::operator= ( const ACE_Map< KEY, VALUE > &  )
private
template<class KEY , class VALUE >
ACE_Reverse_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::rbegin ( void  )
inline

Return reverse iterator.

template<class KEY , class VALUE >
virtual ACE_Reverse_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::rbegin_impl ( void  )
protectedpure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::rebind ( const KEY &  key,
const VALUE &  value 
)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::rebind ( const KEY &  key,
const VALUE &  value,
VALUE &  old_value 
)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::rebind ( const KEY &  key,
const VALUE &  value,
KEY &  old_key,
VALUE &  old_value 
)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::recover_key ( const KEY &  modified_key,
KEY &  original_key 
)
pure virtual
template<class KEY , class VALUE >
ACE_Reverse_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::rend ( void  )
inline
template<class KEY , class VALUE >
virtual ACE_Reverse_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::rend_impl ( void  )
protectedpure virtual
template<class KEY , class VALUE >
virtual size_t ACE_Map< KEY, VALUE >::total_size ( void  ) const
pure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::trybind ( const KEY &  key,
VALUE &  value 
)
pure 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.

Implemented in ACE_Map_Manager_Adapter< KEY, VALUE, KEY_GENERATOR >, ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >, ACE_Active_Map_Manager_Adapter< KEY, VALUE, KEY_ADAPTER >, and ACE_Map_Impl< KEY, VALUE, IMPLEMENTATION, ITERATOR, REVERSE_ITERATOR, ENTRY >.

template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::unbind ( const KEY &  key)
pure virtual
template<class KEY , class VALUE >
virtual int ACE_Map< KEY, VALUE >::unbind ( const KEY &  key,
VALUE &  value 
)
pure virtual

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