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

ACE_Map Class Template Reference

Defines a map interface. More...

#include <Map_T.h>

Inheritance diagram for ACE_Map:

Inheritance graph
[legend]
List of all members.

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_type
reverse_iterator
typedef ACE_Iterator_Impl<
value_type
iterator_implementation
typedef ACE_Reverse_Iterator_Impl<
value_type
reverse_iterator_implementation

Public Methods

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
 Recovers the original key potentially modified by the map during <bind_modify_key>. More...

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
 Remove <key> from the map, and return the <value> associated with <key>. More...

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 Methods

 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 Methods

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.

Definition at line 255 of file Map_T.h.


Member Typedef Documentation

template<class KEY, class VALUE>
typedef ACE_Iterator<value_type> ACE_Map::iterator
 

Definition at line 267 of file Map_T.h.

Referenced by begin, and end.

template<class KEY, class VALUE>
typedef ACE_Iterator_Impl<value_type> ACE_Map::iterator_implementation
 

Definition at line 271 of file Map_T.h.

template<class KEY, class VALUE>
typedef KEY ACE_Map::key_type
 

Definition at line 261 of file Map_T.h.

template<class KEY, class VALUE>
typedef VALUE ACE_Map::mapped_type
 

Definition at line 263 of file Map_T.h.

template<class KEY, class VALUE>
typedef ACE_Reverse_Iterator<value_type> ACE_Map::reverse_iterator
 

Definition at line 269 of file Map_T.h.

Referenced by rbegin, and rend.

template<class KEY, class VALUE>
typedef ACE_Reverse_Iterator_Impl<value_type> ACE_Map::reverse_iterator_implementation
 

Definition at line 273 of file Map_T.h.

template<class KEY, class VALUE>
typedef ACE_Reference_Pair<const KEY, VALUE> ACE_Map::value_type
 

Definition at line 265 of file Map_T.h.


Constructor & Destructor Documentation

template<class KEY, class VALUE>
ACE_INLINE ACE_Map< KEY, VALUE >::~ACE_Map void    [virtual]
 

Close down and release dynamically allocated resources.

Definition at line 204 of file Map_T.i.

00205 {
00206 }

template<class KEY, class VALUE>
ACE_INLINE ACE_Map< KEY, VALUE >::ACE_Map void    [protected]
 

Definition at line 199 of file Map_T.i.

00200 {
00201 }

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_INLINE ACE_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::begin void   
 

Return forward iterator.

Definition at line 209 of file Map_T.i.

References iterator.

00210 {
00211   return iterator (this->begin_impl ());
00212 }

template<class KEY, class VALUE>
virtual ACE_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::begin_impl void    [protected, pure virtual]
 

Return forward iterator.

Implemented in ACE_Map_Impl.

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_Impl.

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_Impl.

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_Impl.

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_Impl.

template<class KEY, class VALUE>
virtual int ACE_Map< KEY, VALUE >::close void    [pure virtual]
 

Close down a <Map> and release dynamically allocated resources.

Implemented in ACE_Map_Impl.

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_Impl.

template<class KEY, class VALUE>
virtual size_t ACE_Map< KEY, VALUE >::current_size void    const [pure virtual]
 

Return the current size of the map.

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
virtual void ACE_Map< KEY, VALUE >::dump void    const [pure virtual]
 

Dump the state of an object.

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
ACE_INLINE ACE_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::end void   
 

Definition at line 215 of file Map_T.i.

References iterator.

00216 {
00217   return iterator (this->end_impl ());
00218 }

template<class KEY, class VALUE>
virtual ACE_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::end_impl void    [protected, pure virtual]
 

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
virtual int ACE_Map< KEY, VALUE >::find const KEY &    key [pure virtual]
 

Is <key> in the map?

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
virtual int ACE_Map< KEY, VALUE >::find const KEY &    key,
VALUE &    value
[pure virtual]
 

Locate <value> associated with <key>.

Implemented in ACE_Map_Impl.

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]
 

Initialize a <Map> with size <length>.

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
void ACE_Map< KEY, VALUE >::operator= const ACE_Map< KEY, VALUE > &    [private]
 

template<class KEY, class VALUE>
ACE_INLINE ACE_Reverse_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::rbegin void   
 

Return reverse iterator.

Definition at line 221 of file Map_T.i.

References reverse_iterator.

00222 {
00223   return reverse_iterator (this->rbegin_impl ());
00224 }

template<class KEY, class VALUE>
virtual ACE_Reverse_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::rbegin_impl void    [protected, pure virtual]
 

Return reverse iterator.

Implemented in ACE_Map_Impl.

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_Impl.

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_Impl.

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_Impl.

template<class KEY, class VALUE>
virtual int ACE_Map< KEY, VALUE >::recover_key const KEY &    modified_key,
KEY &    original_key
[pure virtual]
 

Recovers the original key potentially modified by the map during <bind_modify_key>.

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
ACE_INLINE ACE_Reverse_Iterator< ACE_Reference_Pair< const KEY, VALUE > > ACE_Map< KEY, VALUE >::rend void   
 

Definition at line 227 of file Map_T.i.

References reverse_iterator.

00228 {
00229   return reverse_iterator (this->rend_impl ());
00230 }

template<class KEY, class VALUE>
virtual ACE_Reverse_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> >* ACE_Map< KEY, VALUE >::rend_impl void    [protected, pure virtual]
 

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
virtual size_t ACE_Map< KEY, VALUE >::total_size void    const [pure virtual]
 

Return the total size of the map.

Implemented in ACE_Map_Impl.

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_Impl.

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

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

Implemented in ACE_Map_Impl.

template<class KEY, class VALUE>
virtual int ACE_Map< KEY, VALUE >::unbind const KEY &    key [pure virtual]
 

Remove <key> from the map.

Implemented in ACE_Map_Impl.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:49:53 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002