ACE
6.1.7
|
Define a map abstraction that associates system generated keys with user specified values. More...
#include <Active_Map_Manager_T.h>
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 |
![]() | |
typedef ACE_Active_Map_Manager_Key | KEY |
typedef T | VALUE |
typedef ACE_Null_Mutex | lock_type |
typedef ACE_Map_Const_Iterator < ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex > | CONST_ITERATOR |
typedef ACE_Map_Const_Iterator < ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex > | const_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) |
![]() | |
ACE_Map_Manager (ACE_Allocator *alloc=0) | |
Initialize a ACE_Map_Manager with the ACE_DEFAULT_MAP_SIZE. | |
ACE_Map_Manager (size_t size, ACE_Allocator *alloc=0) | |
Initialize a ACE_Map_Manager with size entries. | |
~ACE_Map_Manager (void) | |
int | bind (const ACE_Active_Map_Manager_Key &ext_id, const T &int_id) |
int | trybind (const ACE_Active_Map_Manager_Key &ext_id, T &int_id) |
void | unbind_all (void) |
ACE_Null_Mutex & | mutex (void) |
Static Public Member Functions | |
static 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. | |
![]() | |
enum |
Private Member Functions | |
void | operator= (const ACE_Active_Map_Manager< T > &) |
ACE_Active_Map_Manager (const ACE_Active_Map_Manager< T > &) |
Additional Inherited Members | |
![]() | |
int | bind_i (const ACE_Active_Map_Manager_Key &ext_id, const T &int_id) |
int | shared_bind (const ACE_Active_Map_Manager_Key &ext_id, const T &int_id) |
int | rebind_i (const ACE_Active_Map_Manager_Key &ext_id, const T &int_id, ACE_Active_Map_Manager_Key &old_ext_id, T &old_int_id) |
int | rebind_i (const ACE_Active_Map_Manager_Key &ext_id, const T &int_id, T &old_int_id) |
int | rebind_i (const ACE_Active_Map_Manager_Key &ext_id, const T &int_id) |
int | trybind_i (const ACE_Active_Map_Manager_Key &ext_id, T &int_id) |
int | find_i (const ACE_Active_Map_Manager_Key &ext_id, T &int_id) |
int | find_and_return_index (const ACE_Active_Map_Manager_Key &ext_id, ACE_UINT32 &slot) |
int | unbind_i (const ACE_Active_Map_Manager_Key &ext_id, T &int_id) |
int | unbind_i (const ACE_Active_Map_Manager_Key &ext_id) |
int | unbind_and_return_index (const ACE_Active_Map_Manager_Key &ext_id, ACE_UINT32 &slot) |
void | unbind_slot (ACE_UINT32 slot) |
Unbind slot. | |
int | resize_i (ACE_UINT32 size) |
Resize the map. Must be called with locks held. | |
int | close_i (void) |
Close down a <Map_Manager>. Must be called with locks held. | |
int | equal (const ACE_Active_Map_Manager_Key &id1, const ACE_Active_Map_Manager_Key &id2) |
ACE_UINT32 | new_size (void) |
void | free_search_structure (void) |
ACE_UINT32 | free_list_id (void) const |
Id of the free list sentinel. | |
ACE_UINT32 | occupied_list_id (void) const |
Id of the occupied list sentinel. | |
int | next_free (ACE_UINT32 &slot) |
Finds the next free slot. | |
void | move_from_free_list_to_occupied_list (ACE_UINT32 slot) |
Move from free list to occupied list. | |
void | move_from_occupied_list_to_free_list (ACE_UINT32 slot) |
Move from occupied list to free list. | |
void | shared_move (ACE_UINT32 slot, ACE_Map_Entry< ACE_Active_Map_Manager_Key, T > ¤t_list, ACE_UINT32 current_list_id, ACE_Map_Entry< ACE_Active_Map_Manager_Key, T > &new_list, ACE_UINT32 new_list_id) |
Move helper. | |
![]() | |
ACE_Allocator * | allocator_ |
Pointer to a memory allocator. | |
ACE_Null_Mutex | lock_ |
Synchronization variable for the MT_SAFE ACE_Map_Manager. | |
ACE_Map_Entry < ACE_Active_Map_Manager_Key, T > * | search_structure_ |
Implement the Map as a resizeable array of ACE_Map_Entry. | |
ACE_UINT32 | total_size_ |
Total number of elements in this->search_structure_. | |
ACE_UINT32 | cur_size_ |
Current size of the map. | |
ACE_Map_Entry < ACE_Active_Map_Manager_Key, T > | free_list_ |
Free list. | |
ACE_Map_Entry < ACE_Active_Map_Manager_Key, T > | occupied_list_ |
Occupied list. |
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.
|
protected |
Private base class.
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 >.
typedef ENTRY ACE_Active_Map_Manager< T >::entry |
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 >.
typedef ITERATOR ACE_Active_Map_Manager< T >::iterator |
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
typedef ACE_Active_Map_Manager_Key ACE_Active_Map_Manager< T >::key_type |
typedef T ACE_Active_Map_Manager< T >::mapped_type |
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 >.
typedef REVERSE_ITERATOR ACE_Active_Map_Manager< T >::reverse_iterator |
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
Initialize a Active_Map_Manager with the ACE_DEFAULT_MAP_SIZE.
|
inline |
Initialize a Active_Map_Manager with size entries.
|
inline |
Close down a Active_Map_Manager and release dynamically allocated resources.
|
private |
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 >.
|
inline |
Add value to the map, and the corresponding key produced by the Active_Map_Manager is returned through key.
|
inline |
Add value to the map. The user does not care about the corresponding key produced by the Active_Map_Manager.
|
inline |
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.
|
inline |
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 >.
|
inline |
Return the current size of the map.
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
Dump the state of an object.
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
Locate value associated with key.
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
Is key in the map?
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
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.
|
inlinestatic |
Returns a key that cannot be found in the map.
|
inline |
Initialize a Active_Map_Manager with size length.
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
private |
|
inline |
Return reverse iterator.
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
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 >.
|
inline |
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 >.
|
inline |
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 >.
|
inline |
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
Return the total size of the map.
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
Remove key from the map.
Reimplemented from ACE_Map_Manager< ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex >.
|
inline |
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 >.
|
inline |
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.
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 >.