#include <Map_T.h>
Inheritance diagram for ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >:
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_Mutex > | implementation |
Public Member Functions | |
ACE_Hash_Map_Manager_Ex_Adapter (ACE_Allocator *alloc=0) | |
Initialize with the . | |
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. | |
virtual int | open (size_t length=ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc=0) |
Initialize a with size . | |
virtual int | close (void) |
Close down a and release dynamically allocated resources. | |
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 associated with . | |
virtual int | find (const KEY &key) |
Is in the map? | |
virtual int | unbind (const KEY &key) |
Remove from the map. | |
virtual int | unbind (const KEY &key, VALUE &value) |
virtual size_t | current_size (void) const |
Return the current size of the map. | |
virtual size_t | total_size (void) const |
Return the total size of the map. | |
virtual void | dump (void) const |
Dump the state of an object. | |
ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex > & | impl (void) |
Accessor to implementation object. | |
KEY_GENERATOR & | key_generator (void) |
Accessor to key generator. | |
Protected Member Functions | |
virtual ACE_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * | begin_impl (void) |
Return forward iterator. | |
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. | |
virtual ACE_Reverse_Iterator_Impl< ACE_Reference_Pair< const KEY, VALUE > > * | rend_impl (void) |
Protected Attributes | |
ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex > | implementation_ |
All implementation details are forwarded to this class. | |
KEY_GENERATOR | key_generator_ |
Functor class used for generating key. | |
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 > &) |
Implementation to be provided by .
Definition at line 1124 of file Map_T.h.
|
|
|
|
|
|
|
Initialize with the .
Definition at line 340 of file Map_T.inl.
00341 : implementation_ (alloc) 00342 { 00343 } |
|
Initialize with entries. The parameter is ignored by maps for which an initialize size does not make sense. Definition at line 346 of file Map_T.inl.
00348 : implementation_ (size, 00349 alloc) 00350 { 00351 } |
|
Close down and release dynamically allocated resources.
Definition at line 848 of file Map_T.cpp.
00849 { 00850 } |
|
|
|
Return forward iterator.
Implements ACE_Map< KEY, VALUE >. Definition at line 1009 of file Map_T.cpp. References ACE_NEW_RETURN.
01010 { 01011 ACE_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> > *temp = 0; 01012 ACE_NEW_RETURN (temp, 01013 iterator_impl (this->implementation_.begin ()), 01014 0); 01015 return temp; 01016 } |
|
Add / pair to the map. If 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. is an "in" parameter. Implements ACE_Map< KEY, VALUE >. Definition at line 867 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::bind().
00869 { 00870 return this->implementation_.bind (key, 00871 value); 00872 } |
|
Add 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 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 >. Definition at line 907 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::bind_create_key().
00908 { 00909 KEY key; 00910 return this->bind_create_key (value, 00911 key); 00912 } |
|
Add to the map, and the corresponding key produced by the Map is returned through which is an "out" parameter. For maps that do not naturally produce keys, the map adapters will use the 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 >. Definition at line 890 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::bind(), and ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::key_generator_. Referenced by ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::bind_create_key().
00892 { 00893 // Invoke the user specified key generation functor. 00894 int result = this->key_generator_ (key); 00895 00896 if (result == 0) 00897 { 00898 // Try to add. 00899 result = this->implementation_.bind (key, 00900 value); 00901 } 00902 00903 return result; 00904 } |
|
Add / pair to the map. is an "inout" parameter and maybe modified/extended by the map to add additional information. To recover original key, call the method. Implements ACE_Map< KEY, VALUE >. Definition at line 875 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::bind().
00877 { 00878 return this->implementation_.bind (key, 00879 value); 00880 } |
|
Close down a and release dynamically allocated resources.
Implements ACE_Map< KEY, VALUE >. Definition at line 861 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::close().
00862 { 00863 return this->implementation_.close (); 00864 } |
|
Produce a key and return it through which is an "out" parameter. For maps that do not naturally produce keys, the map adapters will use the 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 >. Definition at line 883 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::key_generator_.
00884 { 00885 // Invoke the user specified key generation functor. 00886 return this->key_generator_ (key); 00887 } |
|
Return the current size of the map.
Implements ACE_Map< KEY, VALUE >. Definition at line 989 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::current_size().
00990 { 00991 return this->implementation_.current_size (); 00992 } |
|
Dump the state of an object.
Implements ACE_Map< KEY, VALUE >. Definition at line 1001 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::dump().
01002 { 01003 #if defined (ACE_HAS_DUMP) 01004 this->implementation_.dump (); 01005 #endif /* ACE_HAS_DUMP */ 01006 } |
|
Implements ACE_Map< KEY, VALUE >. Definition at line 1019 of file Map_T.cpp. References ACE_NEW_RETURN.
01020 { 01021 ACE_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> > *temp = 0; 01022 ACE_NEW_RETURN (temp, 01023 iterator_impl (this->implementation_.end ()), 01024 0); 01025 return temp; 01026 } |
|
Is in the map?
Implements ACE_Map< KEY, VALUE >. Definition at line 969 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::find().
00970 { 00971 return this->implementation_.find (key); 00972 } |
|
Locate associated with .
Implements ACE_Map< KEY, VALUE >. Definition at line 961 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::find().
00963 { 00964 return this->implementation_.find (key, 00965 value); 00966 } |
|
Accessor to implementation object.
Definition at line 354 of file Map_T.inl.
00355 { 00356 return this->implementation_; 00357 } |
|
Accessor to key generator.
Definition at line 360 of file Map_T.inl. References ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::key_generator_.
00361 { 00362 return this->key_generator_; 00363 } |
|
Initialize a with size .
Implements ACE_Map< KEY, VALUE >. Definition at line 853 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::open().
00855 { 00856 return this->implementation_.open (length, 00857 alloc); 00858 } |
|
|
|
Return reverse iterator.
Implements ACE_Map< KEY, VALUE >. Definition at line 1029 of file Map_T.cpp. References ACE_NEW_RETURN.
01030 { 01031 ACE_Reverse_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> > *temp = 0; 01032 ACE_NEW_RETURN (temp, 01033 reverse_iterator_impl (this->implementation_.rbegin ()), 01034 0); 01035 return temp; 01036 } |
|
Reassociate with , storing the old key and value into the "out" parameters and . The function fails if 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 / association is created. Implements ACE_Map< KEY, VALUE >. Definition at line 941 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::rebind().
00945 { 00946 return this->implementation_.rebind (key, 00947 value, 00948 old_key, 00949 old_value); 00950 } |
|
Reassociate with , storing the old value into the "out" parameter . The function fails if 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 / association is created. Implements ACE_Map< KEY, VALUE >. Definition at line 931 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::rebind().
00934 { 00935 return this->implementation_.rebind (key, 00936 value, 00937 old_value); 00938 } |
|
Reassociate with . The function fails if 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 / association is created. Implements ACE_Map< KEY, VALUE >. Definition at line 923 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::rebind().
00925 { 00926 return this->implementation_.rebind (key, 00927 value); 00928 } |
|
Recovers the original key potentially modified by the map during . Implements ACE_Map< KEY, VALUE >. Definition at line 915 of file Map_T.cpp.
00917 {
00918 original_key = modified_key;
00919 return 0;
00920 }
|
|
Implements ACE_Map< KEY, VALUE >. Definition at line 1039 of file Map_T.cpp. References ACE_NEW_RETURN.
01040 { 01041 ACE_Reverse_Iterator_Impl<ACE_Reference_Pair<const KEY, VALUE> > *temp = 0; 01042 ACE_NEW_RETURN (temp, 01043 reverse_iterator_impl (this->implementation_.rend ()), 01044 0); 01045 return temp; 01046 } |
|
Return the total size of the map.
Implements ACE_Map< KEY, VALUE >. Definition at line 995 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::total_size().
00996 { 00997 return this->implementation_.total_size (); 00998 } |
|
Associate with if and only if is not in the map. If is already in the map, then the parameter is overwritten with the existing value in the map. Returns 0 if a new / 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 >. Definition at line 953 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::trybind().
00955 { 00956 return this->implementation_.trybind (key, 00957 value); 00958 } |
|
Remove from the map, and return the associated with . Implements ACE_Map< KEY, VALUE >. Definition at line 981 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::unbind().
00983 { 00984 return this->implementation_.unbind (key, 00985 value); 00986 } |
|
Remove from the map.
Implements ACE_Map< KEY, VALUE >. Definition at line 975 of file Map_T.cpp. References ACE_Hash_Map_Manager_Ex< KEY, VALUE, HASH_KEY, COMPARE_KEYS, ACE_Null_Mutex >::unbind().
00976 { 00977 return this->implementation_.unbind (key); 00978 } |
|
All implementation details are forwarded to this class.
|
|
Functor class used for generating key.
Definition at line 1291 of file Map_T.h. Referenced by ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::bind_create_key(), ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::create_key(), and ACE_Hash_Map_Manager_Ex_Adapter< KEY, VALUE, HASH_KEY, COMPARE_KEYS, KEY_GENERATOR >::key_generator(). |