ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK > Class Template Reference

Wrapper for backward compatibility. More...

#include <Hash_Map_Manager_T.h>

Inheritance diagram for ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK >:

Inheritance graph
[legend]
Collaboration diagram for ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Hash_Map_Manager (ACE_Allocator *table_alloc=0, ACE_Allocator *entry_alloc=0)
 ACE_Hash_Map_Manager (size_t size, ACE_Allocator *table_alloc=0, ACE_Allocator *entry_alloc=0)
int equal (const EXT_ID &id1, const EXT_ID &id2)
u_long hash (const EXT_ID &ext_id)


Detailed Description

template<class EXT_ID, class INT_ID, class ACE_LOCK>
class ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK >

Wrapper for backward compatibility.

This implementation of a map uses a hash table. This class expects that the <EXT_ID> contains a method called <hash>. In addition, the <EXT_ID> must support <operator==>. Both of these constraints can be alleviated via template specialization, as shown in the $ACE_ROOT/tests/Conn_Test.cpp test.

Requirements and Performance Characteristics


Constructor & Destructor Documentation

template<class EXT_ID, class INT_ID, class ACE_LOCK>
ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK >::ACE_Hash_Map_Manager ( ACE_Allocator table_alloc = 0,
ACE_Allocator entry_alloc = 0 
) [inline]

Initialize a Hash_Map_Manager with default size elements.

Parameters:
table_alloc is a pointer to a memory allocator used for table_, so it should supply size*sizeof (ACE_Hash_Map_Entry<EXT_ID, INT_ID>).
entry_alloc is a pointer to an additional allocator for entries, so it should be able to allocate 'size' / chunks of sizeof(ACE_Hash_Map_Entry<EXT_ID, INT_ID>) bytes each. If table_alloc is 0 it defaults to ACE_Allocator::instance(). If entry_alloc is 0 then it defaults to the same allocator as table_alloc.

template<class EXT_ID, class INT_ID, class ACE_LOCK>
ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK >::ACE_Hash_Map_Manager ( size_t  size,
ACE_Allocator table_alloc = 0,
ACE_Allocator entry_alloc = 0 
) [inline]

Initialize a Hash_Map_Manager with size elements.

Parameters:
table_alloc is a pointer to a memory allocator used for table_, so it should supply size*sizeof (ACE_Hash_Map_Entry<EXT_ID, INT_ID>).
entry_alloc is a pointer to an additional allocator for entries, so it should be able to allocate 'size' / chunks of sizeof(ACE_Hash_Map_Entry<EXT_ID, INT_ID>) bytes each. If table_alloc is 0 it defaults to ACE_Allocator::instance(). If entry_alloc is 0 then it defaults to the same allocator as table_alloc.


Member Function Documentation

template<class EXT_ID, class INT_ID, class ACE_LOCK>
int ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK >::equal ( const EXT_ID &  id1,
const EXT_ID &  id2 
) [inline]

Returns 1 if <id1> == <id2>, else 0. This is defined as a separate method to facilitate template specialization.

Reimplemented from ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, ACE_Hash< EXT_ID >, ACE_Equal_To< EXT_ID >, ACE_LOCK >.

template<class EXT_ID, class INT_ID, class ACE_LOCK>
u_long ACE_Hash_Map_Manager< EXT_ID, INT_ID, ACE_LOCK >::hash ( const EXT_ID &  ext_id  )  [inline]

Compute the hash value of the ext_id. This is defined as a separate method to facilitate template specialization.

Reimplemented from ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, ACE_Hash< EXT_ID >, ACE_Equal_To< EXT_ID >, ACE_LOCK >.


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

Generated on Wed Apr 23 02:39:19 2008 for ACE by  doxygen 1.5.5