#include <ace/Hash_Map_Manager_T.h>
template<class EXT_ID, class INT_ID, class ACE_LOCK> class ACE_Hash_Map_Manager : public ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> {
public:
ACE_Hash_Map_Manager (ACE_Allocator *alloc = 0);
ACE_Hash_Map_Manager (size_t size, ACE_Allocator *alloc = 0);
int equal (const EXT_ID &id1, const EXT_ID &id2);
u_long hash (const EXT_ID &ext_id);
};
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.
int equal (const EXT_ID &id1, const EXT_ID &id2);
u_long hash (const EXT_ID &ext_id);