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 contains a method called . In addition, the 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

Definition at line 919 of file Hash_Map_Manager_T.h.


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
 

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.

Definition at line 927 of file Hash_Map_Manager_T.inl.

00929   : ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (table_alloc,
00930                                                                                                entry_alloc)
00931 {
00932 }

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
 

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.

Definition at line 935 of file Hash_Map_Manager_T.inl.

00938   : ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (size,
00939                                                                                                table_alloc,
00940                                                                                                entry_alloc)
00941 {
00942 }


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
 

Returns 1 if == , 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 >.

Definition at line 945 of file Hash_Map_Manager_T.inl.

00946 {
00947   return ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>::equal (id1, id2);
00948 }

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  ) 
 

Compute the hash value of the . 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 >.

Definition at line 951 of file Hash_Map_Manager_T.inl.

00952 {
00953   return ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>::hash (ext_id);
00954 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:23:06 2006 for ACE by doxygen 1.3.6