summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-08-13 00:03:07 +0000
committersjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-08-13 00:03:07 +0000
commit3cde9e86a1579e2c18aed7c5b456a38d335b9dbb (patch)
treea8090491c432e7519ef41031d0a68452b9219d9b
parente0a6bfd9502dc1120b14fb55b7782412aa81970e (diff)
downloadATCD-3cde9e86a1579e2c18aed7c5b456a38d335b9dbb.tar.gz
ChangeLog Tag: Sun Aug 13 000:02:00 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
-rw-r--r--ACE/ace/Hash_MultiMap_Manager.h31
-rw-r--r--ACE/ace/Hash_MultiMap_Manager_T.inl1102
-rw-r--r--ACE/ace/Hash_Multi_Map_Manager_T.cpp (renamed from ACE/ace/Hash_MultiMap_Manager_T.cpp)190
-rw-r--r--ACE/ace/Hash_Multi_Map_Manager_T.h (renamed from ACE/ace/Hash_MultiMap_Manager_T.h)527
-rw-r--r--ACE/ace/Hash_Multi_Map_Manager_T.inl994
-rw-r--r--ACE/ace/ace.mpc3
6 files changed, 1284 insertions, 1563 deletions
diff --git a/ACE/ace/Hash_MultiMap_Manager.h b/ACE/ace/Hash_MultiMap_Manager.h
deleted file mode 100644
index ab2d53bed1c..00000000000
--- a/ACE/ace/Hash_MultiMap_Manager.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Hash_MultiMap_Manager.h
- *
- * $Id$
- *
- * Backward compatibility header.
- *
- * @author Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
- */
-//=============================================================================
-
-#ifndef ACE_HASH_MULTIMAP_MANAGER_H
-#define ACE_HASH_MULTIMAP_MANAGER_H
-
-#include /**/ "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-// Include the templates here.
-#include "ace/Hash_MultiMap_Manager_T.h"
-
-#include /**/ "ace/post.h"
-
-#endif /* ACE_HASH_MULTIMAP_MANAGER_H */
diff --git a/ACE/ace/Hash_MultiMap_Manager_T.inl b/ACE/ace/Hash_MultiMap_Manager_T.inl
deleted file mode 100644
index d8b881c1296..00000000000
--- a/ACE/ace/Hash_MultiMap_Manager_T.inl
+++ /dev/null
@@ -1,1102 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-#include "ace/Guard_T.h"
-
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Manager_Ex (size_t size,
- ACE_Allocator *table_alloc,
- ACE_Allocator *entry_alloc)
- : table_allocator_ (table_alloc),
- entry_allocator_ (entry_alloc),
- table_ (0),
- total_size_ (0),
- cur_size_ (0)
-{
- if (this->open (size, table_alloc, entry_alloc) == -1)
- ACE_ERROR ((LM_ERROR, ACE_LIB_TEXT ("ACE_Hash_MultiMap_Manager_Ex\n")));
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Manager_Ex (ACE_Allocator *table_alloc,
- ACE_Allocator *entry_alloc)
- : table_allocator_ (table_alloc),
- entry_allocator_ (entry_alloc),
- table_ (0),
- total_size_ (0),
- cur_size_ (0)
-{
- if (this->open (ACE_DEFAULT_MAP_SIZE, table_alloc, entry_alloc) == -1)
- ACE_ERROR ((LM_ERROR, ACE_LIB_TEXT ("ACE_Hash_MultiMap_Manager_Ex\n")));
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::close (void)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->close_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_all (void)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->unbind_all_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::~ACE_Hash_MultiMap_Manager_Ex (void)
-{
- this->close ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE size_t
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::current_size (void) const
-{
- return this->cur_size_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE size_t
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::total_size (void) const
-{
- return this->total_size_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE ACE_LOCK &
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::mutex (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Manager_Ex::mutex");
- return this->lock_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE u_long
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::hash (const EXT_ID &ext_id)
-{
- return this->hash_key_ (ext_id);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::equal (const EXT_ID &id1,
- const EXT_ID &id2)
-{
- return this->compare_keys_ (id1, id2);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
- const INT_ID &int_id)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *temp;
-
- return this->bind_i (ext_id, int_id, temp);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *temp;
-
- return this->bind_i (ext_id, int_id_set, temp);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
- const INT_ID &int_id)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->bind_i (ext_id, int_id);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
- const INT_ID &int_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->bind_i (ext_id, int_id, entry);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->bind_i (ext_id, int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->bind_i (ext_id, int_id_set, entry);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind_i (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *temp;
-
- int result = this->trybind_i (ext_id, int_id_set, temp);
- if (result == 1)
- int_id_set = temp->int_id_set_;
- return result;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->trybind_i (ext_id, int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->trybind_i (ext_id, int_id_set, entry);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (const EXT_ID &ext_id)
-{
- ACE_Unbounded_Set<INT_ID> int_id_set;
-
- return this->unbind_i (ext_id, int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->unbind_i (ext_id, int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (const EXT_ID &ext_id,
- const INT_ID &int_id)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->unbind_i (ext_id, int_id);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (const EXT_ID &ext_id)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->unbind_i (ext_id) == -1 ? -1 : 0;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->unbind_i (entry) == -1 ? -1 : 0;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry;
-
- size_t dummy;
- if (this->shared_find (ext_id, entry, dummy) == -1)
- return -1;
- else
- {
- int_id_set = entry->int_id_set_;
- return 0;
- }
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id,
- const INT_ID &int_id)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry;
-
- size_t dummy;
- if (this->shared_find (ext_id, entry, dummy) == -1)
- return -1;
- else
- {
- if (0 == entry->int_id_set_.find (int_id))
- return 0;
- else
- return -1;
- }
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry;
-
- size_t dummy;
- return this->shared_find (ext_id, entry, dummy);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set) const
-{
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
- const_cast <ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
- (this);
-
- ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
-
- return nc_this->find_i (ext_id, int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id,
- const INT_ID &int_id) const
-{
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
- const_cast <ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
- (this);
-
- ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
-
- return nc_this->find_i (ext_id, int_id);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id) const
-{
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
- const_cast <ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
- (this);
-
- ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
-
- return nc_this->find_i (ext_id);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
-{
- size_t dummy;
- return this->shared_find (ext_id, entry, dummy);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry) const
-{
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
- const_cast <ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
- (this);
-
- ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
-
- return nc_this->find_i (ext_id, entry);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *node;
-
- return this->rebind_i (ext_id,
- int_id_set,
- node);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *node;
-
- return this->rebind_i (ext_id,
- int_id_set,
- old_int_id_set,
- node);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- EXT_ID &old_ext_id,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set)
-{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *node;
-
- return this->rebind_i (ext_id,
- int_id_set,
- old_ext_id,
- old_int_id_set,
- node);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->rebind_i (ext_id, int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->rebind_i (ext_id, int_id_set, entry);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->rebind_i (ext_id, int_id_set, old_int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->rebind_i (ext_id, int_id_set, old_int_id_set, entry);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- EXT_ID &old_ext_id,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->rebind_i (ext_id, int_id_set, old_ext_id, old_int_id_set);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- EXT_ID &old_ext_id,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
-{
- ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
-
- return this->rebind_i (ext_id, int_id_set, old_ext_id, old_int_id_set, entry);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::begin (void)
-{
- return ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::end (void)
-{
- return ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this, 1);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rbegin (void)
-{
- return ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rend (void)
-{
- return ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this, 1);
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::table (void)
-{
- return this->table_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-size_t
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::cur_size (void) const
-{
- return this->cur_size_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Iterator_Base_Ex (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int head)
- : map_man_ (&mm),
- index_ (head != 0 ? -1 : (ssize_t) mm.total_size_),
- next_ (0)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Iterator_Base_Ex");
-
- if (mm.table_ != 0)
- this->next_ = &mm.table_[head != 0 ? 0 : mm.total_size_ - 1];
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next");
-
- if (this->map_man_->table_ != 0
- && this->index_ < static_cast<ssize_t> (this->map_man_->total_size_)
- && this->index_ >= 0
- && this->next_ != &this->map_man_->table_[this->index_])
- {
- entry = this->next_;
- return 1;
- }
- else
- return 0;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done");
-
- return this->map_man_->table_ == 0
- || this->index_ >= static_cast<ssize_t> (this->map_man_->total_size_)
- || this->index_ < 0;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> &
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator* (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator*");
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *retv = 0;
-
- int result = this->next (retv);
-
- ACE_UNUSED_ARG (result);
- ACE_ASSERT (result != 0);
-
- return *retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-> (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator->");
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *retv = 0;
-
- int result = this->next (retv);
-
- ACE_UNUSED_ARG (result);
- ACE_ASSERT (result != 0);
-
- return retv;
-}
-
-// Returns the reference to the Hash_MultiMap_manager_ex that is being
-// iterated over.
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>&
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map");
- return *this->map_man_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator== (const ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator==");
- return this->map_man_ == rhs.map_man_
- && this->index_ == rhs.index_
- && this->next_ == rhs.next_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!= (const ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!=");
- return this->next_ != rhs.next_
- || this->index_ != rhs.index_
- || this->map_man_ != rhs.map_man_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Const_Iterator_Base_Ex (const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int head)
- : map_man_ (&mm),
- index_ (head != 0 ? -1 : (ssize_t) mm.total_size_),
- next_ (0)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Const_Iterator_Base_Ex");
-
- if (mm.table_ != 0)
- this->next_ = &mm.table_[head != 0 ? 0 : mm.total_size_ - 1];
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next");
-
- if (this->map_man_->table_ != 0
- && this->index_ < (ssize_t) this->map_man_->total_size_
- && this->index_ >= 0
- && this->next_ != &this->map_man_->table_[this->index_])
- {
- entry = this->next_;
- return 1;
- }
- else
- return 0;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done");
-
- return this->map_man_->table_ == 0
- || this->index_ >= (ssize_t) this->map_man_->total_size_
- || this->index_ < 0;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> &
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator* (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator*");
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *retv = 0;
-
- int result = this->next (retv);
-
- ACE_UNUSED_ARG (result);
- ACE_ASSERT (result != 0);
-
- return *retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-> (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator->");
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *retv = 0;
-
- int result = this->next (retv);
-
- ACE_UNUSED_ARG (result);
- ACE_ASSERT (result != 0);
-
- return retv;
-}
-
-// Returns the reference to the Hash_MultiMap_manager_ex that is being
-// iterated over.
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>&
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map");
- return *this->map_man_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator== (const ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator==");
- return this->map_man_ == rhs.map_man_
- && this->index_ == rhs.index_
- && this->next_ == rhs.next_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!= (const ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!=");
- return this->next_ != rhs.next_
- || this->index_ != rhs.index_
- || this->map_man_ != rhs.map_man_;
-}
-
-ACE_ALLOC_HOOK_DEFINE(ACE_Hash_MultiMap_Iterator_Ex)
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE void
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
-{
-#if defined (ACE_HAS_DUMP)
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump");
-
- this->dump_i ();
-#endif /* ACE_HAS_DUMP */
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Iterator_Ex (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int tail)
- : ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (mm,
- tail == 0 ? 1 : 0)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Iterator_Ex");
- if (tail == 0)
- this->forward_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance");
- return this->forward_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
-
- this->forward_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
-
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- ++*this;
- return retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
-
- this->reverse_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
-
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- --*this;
- return retv;
-}
-
-ACE_ALLOC_HOOK_DEFINE(ACE_Hash_MultiMap_Const_Iterator_Ex)
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE void
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
-{
-#if defined (ACE_HAS_DUMP)
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump");
-
- this->dump_i ();
-#endif /* ACE_HAS_DUMP */
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Const_Iterator_Ex (const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int tail)
- : ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (mm,
- tail == 0 ? 1 : 0)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Const_Iterator_Ex");
- if (tail == 0)
- this->forward_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance");
- return this->forward_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
-
- this->forward_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
-
- ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- ++*this;
- return retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
-
- this->reverse_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
-
- ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- --*this;
- return retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Bucket_Iterator (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- const EXT_ID &ext_id,
- int tail)
- : map_man_ (&mm)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Bucket_Iterator");
-
- this->index_ = this->map_man_->hash (ext_id) % this->map_man_->total_size_;
- this->next_ = &this->map_man_->table_[this->index_];
-
- if (tail == 0)
- this->forward_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
-
- this->forward_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
-
- ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- ++*this;
- return retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
-
- this->reverse_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
-
- ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- --*this;
- return retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i");
-
- this->next_ = this->next_->next_;
- return this->next_ != &this->map_man_->table_[this->index_];
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i");
-
- this->next_ = this->next_->prev_;
- return this->next_ != &this->map_man_->table_[this->index_];
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> &
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator* (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator*");
-
- return *this->next_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-> (void) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator->");
-
- return this->next_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map");
- return *this->map_man_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator== (const ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator==");
- return this->map_man_ == rhs.map_man_
- && this->index_ == rhs.index_
- && this->next_ == rhs.next_;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
-ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!= (const ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!=");
- return this->next_ != rhs.next_
- || this->index_ != rhs.index_
- || this->map_man_ != rhs.map_man_;
-}
-
-ACE_ALLOC_HOOK_DEFINE(ACE_Hash_MultiMap_Reverse_Iterator_Ex)
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE void
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
-{
-#if defined (ACE_HAS_DUMP)
- ACE_TRACE ("ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump");
-
- this->dump_i ();
-#endif /* ACE_HAS_DUMP */
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Reverse_Iterator_Ex (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm, int head)
- : ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (mm, head)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_MultiMap_Reverse_Iterator_Ex");
- if (head == 0)
- this->reverse_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance");
- return this->reverse_i ();
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
-
- this->reverse_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
-
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- ++*this;
- return retv;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
-
- this->forward_i ();
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
-ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
-{
- ACE_TRACE ("ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
-
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
- --*this;
- return retv;
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Manager (ACE_Allocator *table_alloc,
- ACE_Allocator *entry_alloc)
- : ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (table_alloc,
- entry_alloc)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Manager (size_t size,
- ACE_Allocator *table_alloc,
- ACE_Allocator *entry_alloc)
- : ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (size,
- table_alloc,
- entry_alloc)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK>::equal (const EXT_ID &id1, const EXT_ID &id2)
-{
- return ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>::equal (id1, id2);
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK> u_long
-ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK>::hash (const EXT_ID &ext_id)
-{
- return ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>::hash (ext_id);
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Iterator (ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
- int tail)
- : ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (mm,
- tail)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Iterator (const ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base)
- : ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (base)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_Hash_MultiMap_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
-ACE_Hash_MultiMap_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator= (const ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &rhs)
-{
- if (this != &rhs)
- {
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base = *this;
-
- base = rhs;
- }
-
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Const_Iterator (const ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
- int tail)
- : ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (mm,
- tail)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Const_Iterator (const ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base)
- : ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (base)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_Hash_MultiMap_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
-ACE_Hash_MultiMap_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator= (const ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &rhs)
-{
- if (this != &rhs)
- {
- ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base = *this;
-
- base = rhs;
- }
-
- return *this;
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Reverse_Iterator (ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
- int head)
- : ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (mm,
- head)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-ACE_Hash_MultiMap_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_MultiMap_Reverse_Iterator (const ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base)
- : ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> (base)
-{
-}
-
-template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_Hash_MultiMap_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
-ACE_Hash_MultiMap_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator= (const ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &rhs)
-{
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base = *this;
-
- base = rhs;
-
- return *this;
-}
-
-ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/Hash_MultiMap_Manager_T.cpp b/ACE/ace/Hash_Multi_Map_Manager_T.cpp
index 1ccadbd38a6..544383d0ad0 100644
--- a/ACE/ace/Hash_MultiMap_Manager_T.cpp
+++ b/ACE/ace/Hash_Multi_Map_Manager_T.cpp
@@ -6,24 +6,24 @@
// ace
//
// = FILENAME
-// Hash_MultiMap_Manager_T.cpp
+// Hash_Multi_Map_Manager_T.cpp
//
// = AUTHOR
// Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
//
// ============================================================================
-#ifndef ACE_Hash_MultiMap_Manager_T_CPP
-#define ACE_Hash_MultiMap_Manager_T_CPP
+#ifndef ACE_Hash_Multi_Map_Manager_T_CPP
+#define ACE_Hash_Multi_Map_Manager_T_CPP
-#include "ace/Hash_MultiMap_Manager_T.h"
+#include "ace/Hash_Multi_Map_Manager_T.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#if !defined (__ACE_INLINE__)
-# include "ace/Hash_MultiMap_Manager_T.inl"
+# include "ace/Hash_Multi_Map_Manager_T.inl"
#endif /* __ACE_INLINE__ */
#include "ace/Malloc_Base.h"
@@ -32,18 +32,18 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
template <class EXT_ID, class INT_ID>
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::ACE_Hash_MultiMap_Entry (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *prev)
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>::ACE_Hash_Multi_Map_Entry (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *prev)
: next_ (next),
prev_ (prev)
{
}
template <class EXT_ID, class INT_ID>
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::ACE_Hash_MultiMap_Entry (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *prev)
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>::ACE_Hash_Multi_Map_Entry (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *prev)
: ext_id_ (ext_id),
int_id_set_ (int_id_set),
next_ (next),
@@ -53,25 +53,25 @@ ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::ACE_Hash_MultiMap_Entry (const EXT_ID &
# if ! defined (ACE_HAS_BROKEN_NOOP_DTORS)
template <class EXT_ID, class INT_ID>
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::~ACE_Hash_MultiMap_Entry (void)
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>::~ACE_Hash_Multi_Map_Entry (void)
{
}
# endif /* ! defined (ACE_HAS_BROKEN_NOOP_DTORS) */
template <class EXT_ID, class INT_ID> EXT_ID &
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::key ()
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>::key ()
{
return ext_id_;
}
template <class EXT_ID, class INT_ID> ACE_Unbounded_Set<INT_ID> &
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::item ()
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>::item ()
{
return int_id_set_;
}
template <class EXT_ID, class INT_ID> void
-ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::dump (void) const
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>::dump (void) const
{
#if defined (ACE_HAS_DUMP)
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
@@ -82,7 +82,7 @@ ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>::dump (void) const
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> void
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
{
#if defined (ACE_HAS_DUMP)
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
@@ -96,16 +96,16 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::create_buckets (size_t size)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::create_buckets (size_t size)
{
- size_t bytes = size * sizeof (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>);
+ size_t bytes = size * sizeof (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>);
void *ptr;
ACE_ALLOCATOR_RETURN (ptr,
this->table_allocator_->malloc (bytes),
-1);
- this->table_ = (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *) ptr;
+ this->table_ = (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *) ptr;
this->total_size_ = size;
@@ -113,15 +113,15 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
// list with the dummy node in the front serving as the anchor of
// the list.
for (size_t i = 0; i < size; i++)
- new (&this->table_[i]) ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> (&this->table_[i],
- &this->table_[i]);
+ new (&this->table_[i]) ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> (&this->table_[i],
+ &this->table_[i]);
return 0;
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::open (size_t size,
- ACE_Allocator *table_alloc,
- ACE_Allocator *entry_alloc)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::open (size_t size,
+ ACE_Allocator *table_alloc,
+ ACE_Allocator *entry_alloc)
{
ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
@@ -150,7 +150,7 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::close_i (void)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::close_i (void)
{
// Protect against "double-deletion" in case the destructor also
// gets called.
@@ -163,12 +163,12 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
for (size_t i = 0; i < this->total_size_; i++)
{
// Destroy the dummy entry.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry = &this->table_[i];
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry = &this->table_[i];
// The second argument results in a no-op instead of
// deallocation.
ACE_DES_FREE_TEMPLATE2 (entry, ACE_NOOP,
- ACE_Hash_MultiMap_Entry, EXT_ID, INT_ID);
+ ACE_Hash_Multi_Map_Entry, EXT_ID, INT_ID);
}
// Reset size.
@@ -185,22 +185,22 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_all_i (void)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_all_i (void)
{
// Iterate through the entire map calling the destuctor of each
- // <ACE_Hash_MultiMap_Entry>.
+ // <ACE_Hash_Multi_Map_Entry>.
for (size_t i = 0; i < this->total_size_; i++)
{
- for (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *temp_ptr = this->table_[i].next_;
+ for (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *temp_ptr = this->table_[i].next_;
temp_ptr != &this->table_[i];
)
{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *hold_ptr = temp_ptr;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *hold_ptr = temp_ptr;
temp_ptr = temp_ptr->next_;
// Explicitly call the destructor.
ACE_DES_FREE_TEMPLATE2 (hold_ptr, this->entry_allocator_->free,
- ACE_Hash_MultiMap_Entry, EXT_ID, INT_ID);
+ ACE_Hash_Multi_Map_Entry, EXT_ID, INT_ID);
}
// Restore the sentinel.
@@ -214,9 +214,9 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
- const INT_ID &int_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
+ const INT_ID &int_id,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
{
size_t loc;
int result = this->shared_find (ext_id, entry, loc);
@@ -227,15 +227,15 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
void *ptr;
// Not found.
ACE_ALLOCATOR_RETURN (ptr,
- this->entry_allocator_->malloc (sizeof (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>)),
+ this->entry_allocator_->malloc (sizeof (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>)),
-1);
int_id_set.insert (int_id);
- entry = new (ptr) ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> (ext_id,
- int_id_set,
- this->table_[loc].next_,
- &this->table_[loc]);
+ entry = new (ptr) ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> (ext_id,
+ int_id_set,
+ this->table_[loc].next_,
+ &this->table_[loc]);
this->table_[loc].next_ = entry;
entry->next_->prev_ = entry;
this->cur_size_++;
@@ -256,9 +256,9 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
{
size_t loc;
int result = this->shared_find (ext_id, entry, loc);
@@ -268,13 +268,13 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
void *ptr;
// Not found.
ACE_ALLOCATOR_RETURN (ptr,
- this->entry_allocator_->malloc (sizeof (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>)),
+ this->entry_allocator_->malloc (sizeof (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>)),
-1);
- entry = new (ptr) ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> (ext_id,
- int_id_set,
- this->table_[loc].next_,
- &this->table_[loc]);
+ entry = new (ptr) ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> (ext_id,
+ int_id_set,
+ this->table_[loc].next_,
+ &this->table_[loc]);
this->table_[loc].next_ = entry;
entry->next_->prev_ = entry;
this->cur_size_++;
@@ -285,9 +285,9 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind_i (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind_i (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
{
size_t loc;
int result = this->shared_find (ext_id, entry, loc);
@@ -297,13 +297,13 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
// Not found.
void *ptr;
ACE_ALLOCATOR_RETURN (ptr,
- this->entry_allocator_->malloc (sizeof (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>)),
+ this->entry_allocator_->malloc (sizeof (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>)),
-1);
- entry = new (ptr) ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> (ext_id,
- int_id_set,
- this->table_[loc].next_,
- &this->table_[loc]);
+ entry = new (ptr) ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> (ext_id,
+ int_id_set,
+ this->table_[loc].next_,
+ &this->table_[loc]);
this->table_[loc].next_ = entry;
entry->next_->prev_ = entry;
this->cur_size_++;
@@ -314,10 +314,10 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (const EXT_ID &ext_id,
- ACE_Unbounded_Set<INT_ID> &int_id_set)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set)
{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *temp;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *temp;
size_t loc;
int result = this->shared_find (ext_id, temp, loc);
@@ -334,24 +334,24 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry)
{
entry->next_->prev_ = entry->prev_;
entry->prev_->next_ = entry->next_;
// Explicitly call the destructor.
ACE_DES_FREE_TEMPLATE2 (entry, this->entry_allocator_->free,
- ACE_Hash_MultiMap_Entry, EXT_ID, INT_ID);
+ ACE_Hash_Multi_Map_Entry, EXT_ID, INT_ID);
this->cur_size_--;
return 0;
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (const EXT_ID &ext_id,
- const INT_ID &int_id)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (const EXT_ID &ext_id,
+ const INT_ID &int_id)
{
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *temp;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *temp;
size_t loc;
int result = this->shared_find (ext_id, temp, loc);
@@ -378,13 +378,13 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::shared_find (const EXT_ID &ext_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry,
- size_t &loc)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::shared_find (const EXT_ID &ext_id,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry,
+ size_t &loc)
{
loc = this->hash (ext_id) % this->total_size_;
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *temp = this->table_[loc].next_;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *temp = this->table_[loc].next_;
while (temp != &this->table_[loc] && this->equal (temp->ext_id_, ext_id) == 0)
temp = temp->next_;
@@ -402,9 +402,9 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
{
size_t dummy;
if (this->shared_find (ext_id, entry, dummy) == -1)
@@ -418,10 +418,10 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
{
size_t dummy;
if (this->shared_find (ext_id, entry, dummy) == -1)
@@ -436,11 +436,11 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- EXT_ID &old_ext_id,
- ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry)
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ EXT_ID &old_ext_id,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
{
size_t dummy;
if (this->shared_find (ext_id, entry, dummy) == -1)
@@ -457,12 +457,12 @@ ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::
// ------------------------------------------------------------
-ACE_ALLOC_HOOK_DEFINE(ACE_Hash_MultiMap_Iterator_Base_Ex)
+ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Multi_Map_Iterator_Base)
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> void
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i (void) const
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i (void) const
{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i");
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("index_ = %d "), this->index_));
@@ -471,9 +471,9 @@ ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_L
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i (void)
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i (void)
{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i");
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i");
if (this->map_man_->table_ == 0)
return -1;
@@ -501,9 +501,9 @@ ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_L
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i (void)
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i (void)
{
- ACE_TRACE ("ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i");
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i");
if (this->map_man_->table_ == 0)
return -1;
@@ -531,12 +531,12 @@ ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_L
// ------------------------------------------------------------
-ACE_ALLOC_HOOK_DEFINE(ACE_Hash_MultiMap_Const_Iterator_Base_Ex)
+ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Multi_Map_Const_Iterator_Base)
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> void
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i (void) const
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i (void) const
{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i");
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump_i");
ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("index_ = %d "), this->index_));
@@ -545,9 +545,9 @@ ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS,
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i (void)
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i (void)
{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i");
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i");
if (this->map_man_->table_ == 0)
return -1;
@@ -575,9 +575,9 @@ ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS,
}
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i (void)
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i (void)
{
- ACE_TRACE ("ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i");
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i");
if (this->map_man_->table_ == 0)
return -1;
@@ -605,4 +605,4 @@ ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS,
ACE_END_VERSIONED_NAMESPACE_DECL
-#endif /* ACE_Hash_MultiMap_Manager_T_CPP */
+#endif /* ACE_Hash_Multi_Map_Manager_T_CPP */
diff --git a/ACE/ace/Hash_MultiMap_Manager_T.h b/ACE/ace/Hash_Multi_Map_Manager_T.h
index e92cd81ff15..617ca7bf2b3 100644
--- a/ACE/ace/Hash_MultiMap_Manager_T.h
+++ b/ACE/ace/Hash_Multi_Map_Manager_T.h
@@ -2,20 +2,28 @@
//=============================================================================
/**
- * @file Hash_MultiMap_Manager_T.h
+ * @file Hash_Multi_Map_Manager_T.h
*
- * $Id$
+ * $Id$
*
- * The code in Hash_MultiMap_Manager_T.* was based on the code in Hash_Map_Manager_T.*.
- * ACE_Hash_MultiMap_Manager uses ACE_Unbounded_Set to store differet values with the
- * same key.
+ * The code in Hash_Multi_Map_Manager_T.* was based on the code in
+ * Hash_Map_Manager_T.*.
*
- * @author Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
+ * ACE_Hash_Multi_Map_Manager maps a key type to more than one value types.
+ * The template takes the key and value types as parameters. The bind and
+ * unbind operations can take a key and the value or the set of the values that
+ * is to be associated with that key. The find operation can take a key or a
+ * key and the value that is associated with the key.
+ *
+ * ACE_Hash_Multi_Map_Manager uses ACE_Unbounded_Set to store differet values
+ * with the same key.
+ *
+ * @author Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
*/
//=============================================================================
-#ifndef ACE_HASH_MULTIMAP_MANAGER_T_H
-#define ACE_HASH_MULTIMAP_MANAGER_T_H
+#ifndef ACE_HASH_MULTI_MAP_MANAGER_T_H
+#define ACE_HASH_MULTI_MAP_MANAGER_T_H
#include /**/ "ace/pre.h"
#include "ace/config-all.h"
@@ -33,12 +41,12 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
/**
- * @class ACE_Hash_MultiMap_Entry
+ * @class ACE_Hash_Multi_Map_Entry
*
* @brief Define an entry in the hash table.
*/
template <class EXT_ID, class INT_ID>
-class ACE_Hash_MultiMap_Entry
+class ACE_Hash_Multi_Map_Entry
{
public:
friend class ACE_Unbounded_Set<INT_ID>;
@@ -48,18 +56,18 @@ public:
// = Initialization and termination methods.
/// Constructor.
- ACE_Hash_MultiMap_Entry (const EXT_ID &ext_id,
- const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next = 0,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *prev = 0);
+ ACE_Hash_Multi_Map_Entry (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next = 0,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *prev = 0);
/// Constructor.
- ACE_Hash_MultiMap_Entry (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *prev);
+ ACE_Hash_Multi_Map_Entry (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *prev);
# if ! defined (ACE_HAS_BROKEN_NOOP_DTORS)
/// Destructor.
- ~ACE_Hash_MultiMap_Entry (void);
+ ~ACE_Hash_Multi_Map_Entry (void);
#endif /* ! defined (ACE_HAS_BROKEN_NOOP_DTORS) */
/// Key accessor.
@@ -77,10 +85,10 @@ public:
ACE_Unbounded_Set<INT_ID> int_id_set_;
/// Pointer to the next item in the bucket of overflow nodes.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next_;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next_;
/// Pointer to the prev item in the bucket of overflow nodes.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *prev_;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *prev_;
/// Dump the state of an object.
void dump (void) const;
@@ -88,33 +96,33 @@ public:
// Forward decl.
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Iterator_Base_Ex;
+class ACE_Hash_Multi_Map_Iterator_Base;
// Forward decl.
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Const_Iterator_Base_Ex;
+class ACE_Hash_Multi_Map_Const_Iterator_Base;
// Forward decl.
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Iterator_Ex;
+class ACE_Hash_Multi_Map_Iterator;
// Forward decl.
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Const_Iterator_Ex;
+class ACE_Hash_Multi_Map_Const_Iterator;
// Forward decl.
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Reverse_Iterator_Ex;
+class ACE_Hash_Multi_Map_Reverse_Iterator;
// Forward decl.
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Bucket_Iterator;
+class ACE_Hash_Multi_Map_Bucket_Iterator;
// Forward decl.
class ACE_Allocator;
/**
- * @class ACE_Hash_MultiMap_Manager_Ex
+ * @class ACE_Hash_Multi_Map_Manager
*
* @brief Define a multi-map abstraction that efficiently associates
* <EXT_ID>s with <INT_ID>s.
@@ -128,81 +136,81 @@ class ACE_Allocator;
*/
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Manager_Ex
+class ACE_Hash_Multi_Map_Manager
{
public:
- friend class ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
- friend class ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
- friend class ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
- friend class ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
- friend class ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
- friend class ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
+ friend class ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
+ friend class ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
+ friend class ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
+ friend class ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
+ friend class ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
+ friend class ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>;
typedef EXT_ID
KEY;
typedef INT_ID
VALUE;
typedef ACE_LOCK lock_type;
- typedef ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>
+ typedef ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>
ENTRY;
// = ACE-style iterator typedefs.
- typedef ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ typedef ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
ITERATOR;
- typedef ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ typedef ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
CONST_ITERATOR;
- typedef ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ typedef ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
REVERSE_ITERATOR;
// = STL-style iterator typedefs.
- typedef ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ typedef ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
iterator;
- typedef ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ typedef ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
const_iterator;
- typedef ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ typedef ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
reverse_iterator;
// = Initialization and termination methods.
/**
- * Initialize a @c Hash_MultiMap_Manager_Ex with default size elements.
+ * Initialize a @c Hash_Multi_Map_Manager with default size elements.
* @param table_alloc is a pointer to a memory allocator used for
- * table_, so it should supply size*sizeof (ACE_Hash_MultiMap_Entry<EXT_ID,
- * ACE_Unbounded_Set<INT_ID> >).
+ * table_, so it should supply size*sizeof (
+ * ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>).
* @param entry_alloc is a pointer to an additional allocator for
* entries, so it should be able to allocate 'size' / chunks
- * of sizeof(ACE_Hash_MultiMap_Entry<EXT_ID, ACE_Unbounded_Set<INT_ID> >) bytes each.
+ * of sizeof(ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>) bytes each.
* If @c table_alloc is 0 it defaults to @c ACE_Allocator::instance().
* If @c entry_alloc is 0 then it defaults to the same allocator as
* @c table_alloc.
*/
- ACE_Hash_MultiMap_Manager_Ex (ACE_Allocator *table_alloc = 0,
- ACE_Allocator *entry_alloc = 0);
+ ACE_Hash_Multi_Map_Manager (ACE_Allocator *table_alloc = 0,
+ ACE_Allocator *entry_alloc = 0);
/**
- * Initialize a @c Hash_MultiMap_Manager_Ex with @c size elements.
+ * Initialize a @c Hash_Multi_Map_Manager with @c size elements.
* @param table_alloc is a pointer to a memory allocator used for
- * table_, so it should supply size*sizeof (ACE_Hash_MultiMap_Entry<EXT_ID,
- * ACE_Unbounded_Set<INT_ID> >).
+ * table_, so it should supply size*sizeof (
+ * ACE_Hash_Multi_Map_Entry<EXT_ID, <INT_ID>).
* @param entry_alloc is a pointer to an additional allocator for
* entries, so it should be able to allocate 'size' / chunks
- * of sizeof(ACE_Hash_MultiMap_Entry<EXT_ID, ACE_Unbounded_Set<INT_ID> >) bytes each.
+ * of sizeof(ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>) bytes each.
* If @c table_alloc is 0 it defaults to @c ACE_Allocator::instance().
* If @c entry_alloc is 0 then it defaults to the same allocator as
* @c table_alloc.
*/
- ACE_Hash_MultiMap_Manager_Ex (size_t size,
- ACE_Allocator *table_alloc = 0,
- ACE_Allocator *entry_alloc = 0);
+ ACE_Hash_Multi_Map_Manager (size_t size,
+ ACE_Allocator *table_alloc = 0,
+ ACE_Allocator *entry_alloc = 0);
/**
- * Initialize a @c Hash_MultiMap_Manager_Ex with @c size elements.
+ * Initialize a @c Hash_Multi_Map_Manager with @c size elements.
* @param table_alloc is a pointer to a memory allocator used for
- * table_, so it should supply size*sizeof (ACE_Hash_MultiMap_Entry<EXT_ID,
- * ACE_Unbounded_Set<INT_ID> >).
+ * table_, so it should supply size*sizeof
+ * (ACE_Hash_Multi_Map_Entry<EXT_ID, <INT_ID>).
* @param entry_alloc is a pointer to an additional allocator for
* entries, so it should be able to allocate 'size' / chunks
- * of sizeof(ACE_Hash_MultiMap_Entry<EXT_ID, ACE_Unbounded_Set<INT_ID> >) bytes each.
+ * of sizeof(ACE_Hash_Multi_Map_Entry<EXT_ID, <INT_ID>) bytes each.
* If @c table_alloc is 0 it defaults to @c ACE_Allocator::instance().
* If @c entry_alloc is 0 then it defaults to the same allocator as
* @c table_alloc.
@@ -213,20 +221,20 @@ public:
ACE_Allocator *table_alloc = 0,
ACE_Allocator *entry_alloc = 0);
- /// Close down a <Hash_MultiMap_Manager_Ex> and release dynamically allocated
+ /// Close down a <Hash_Multi_Map_Manager> and release dynamically allocated
/// resources.
int close (void);
- /// Removes all the entries in <Map_Manager_Ex>.
+ /// Removes all the entries in <Map_Manager>.
int unbind_all (void);
- /// Cleanup the <Hash_MultiMap_Manager_Ex>.
- ~ACE_Hash_MultiMap_Manager_Ex (void);
+ /// Cleanup the <Hash_Multi_Map_Manager>.
+ ~ACE_Hash_Multi_Map_Manager (void);
/**
- * Associate <ext_id> with <int_id>. If <ext_id> and <int_id> is already in the
- * map then the <ACE_Hash_MultiMap_Entry> is not changed. Returns 0 if a
- * new entry is bound successfully, returns 1 if an attempt is made
+ * Associate <ext_id> with <int_id>. If <ext_id> and <int_id> is already in
+ * the map then the <ACE_Hash_Multi_Map_Entry> is not changed. Returns 0 if
+ * a new entry is bound successfully, returns 1 if an attempt is made
* to bind an existing entry, and returns -1 if failures occur.
*/
int bind (const EXT_ID &ext_id,
@@ -239,11 +247,11 @@ public:
*/
int bind (const EXT_ID &ext_id,
const INT_ID &int_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/**
* Associate <ext_id> with <int_id_set>. If <ext_id> is already in the
- * map then the <ACE_Hash_MultiMap_Entry> is not changed. Returns 0 if a
+ * map then the <ACE_Hash_Multi_Map_Entry> is not changed. Returns 0 if a
* new entry is bound successfully, returns 1 if an attempt is made
* to bind an existing entry, and returns -1 if failures occur.
*/
@@ -257,7 +265,7 @@ public:
*/
int bind (const EXT_ID &ext_id,
const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/**
* Associate <ext_id> with <int_id_set> if and only if <ext_id> is not
@@ -276,7 +284,7 @@ public:
*/
int trybind (const EXT_ID &ext_id,
ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/**
* Reassociate <ext_id> with <int_id_set>. If <ext_id> is not in the
@@ -294,7 +302,7 @@ public:
*/
int rebind (const EXT_ID &ext_id,
const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/**
* Associate <ext_id> with <int_id_set>. If <ext_id> is not in the map
@@ -315,14 +323,14 @@ public:
int rebind (const EXT_ID &ext_id,
const ACE_Unbounded_Set<INT_ID> &int_id_set,
ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/**
* Associate <ext_id> with <int_id_set>. If <ext_id> is not in the map
* then behaves just like <bind>. Otherwise, store the old values
* of <ext_id> and <int_id_set> into the "out" parameters and rebind the
* new parameters. This is very useful if you need to have an
- * atomic way of updating <ACE_Hash_MultiMap_Entrys> and you also need
+ * atomic way of updating <ACE_Hash_Multi_Map_Entrys> and you also need
* full control over memory allocation. Returns 0 if a new entry is
* bound successfully, returns 1 if an existing entry was rebound,
* and returns -1 if failures occur.
@@ -341,7 +349,7 @@ public:
const ACE_Unbounded_Set<INT_ID> &int_id_set,
EXT_ID &old_ext_id,
ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Locate <ext_id> and pass out parameter via <int_id_set>.
/// Return 0 if found, returns -1 if not found.
@@ -359,7 +367,7 @@ public:
/// Locate <ext_id> and pass out parameter via <entry>. If found,
/// return 0, returns -1 if not found.
int find (const EXT_ID &ext_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry) const;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry) const;
/**
* Unbind (remove) the <ext_id> from the map. Don't return the
@@ -381,14 +389,14 @@ public:
/// Remove entry from map. Return 0 if the unbind was successfully,
/// and returns -1 if failures occur.
- int unbind (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry);
+ int unbind (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry);
- /// Returns the current number of ACE_Hash_MultiMap_Entry objects in the
+ /// Returns the current number of ACE_Hash_Multi_Map_Entry objects in the
/// hash table.
size_t current_size (void) const;
/// Return the size of the array that's used to point to the
- /// linked lists of ACE_Hash_MultiMap_Entry objects in the hash table.
+ /// linked lists of ACE_Hash_Multi_Map_Entry objects in the hash table.
size_t total_size (void) const;
/**
@@ -407,12 +415,12 @@ public:
// = STL styled iterator factory functions.
/// Return forward iterator.
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> begin (void);
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> end (void);
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> begin (void);
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> end (void);
/// Return reverse iterator.
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> rbegin (void);
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> rend (void);
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> rbegin (void);
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> rend (void);
protected:
// = The following methods do the actual work.
@@ -434,7 +442,7 @@ protected:
/// Performs bind. Must be called with locks held.
int bind_i (const EXT_ID &ext_id,
const INT_ID &int_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Performs bind. Must be called with locks held.
int bind_i (const EXT_ID &ext_id,
@@ -443,7 +451,7 @@ protected:
/// Performs bind. Must be called with locks held.
int bind_i (const EXT_ID &ext_id,
const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Performs trybind. Must be called with locks held.
int trybind_i (const EXT_ID &ext_id,
@@ -452,7 +460,7 @@ protected:
/// Performs trybind. Must be called with locks held.
int trybind_i (const EXT_ID &ext_id,
ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Performs rebind. Must be called with locks held.
int rebind_i (const EXT_ID &ext_id,
@@ -461,7 +469,7 @@ protected:
/// Performs rebind. Must be called with locks held.
int rebind_i (const EXT_ID &ext_id,
const ACE_Unbounded_Set<INT_ID> &int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Performs rebind. Must be called with locks held.
int rebind_i (const EXT_ID &ext_id,
@@ -472,7 +480,7 @@ protected:
int rebind_i (const EXT_ID &ext_id,
const ACE_Unbounded_Set<INT_ID> &int_id_set,
ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Performs rebind. Must be called with locks held.
int rebind_i (const EXT_ID &ext_id,
@@ -485,7 +493,7 @@ protected:
const ACE_Unbounded_Set<INT_ID> &int_id_set,
EXT_ID &old_ext_id,
ACE_Unbounded_Set<INT_ID> &old_int_id_set,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Performs a find of <int_id_set> using <ext_id> as the key. Must be
/// called with locks held.
@@ -504,7 +512,7 @@ protected:
/// Performs a find using <ext_id> as the key. Must be called with
/// locks held.
int find_i (const EXT_ID &ext_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry);
/// Performs unbind. Must be called with locks held.
int unbind_i (const EXT_ID &ext_id,
@@ -518,7 +526,7 @@ protected:
int unbind_i (const EXT_ID &ext_id);
/// Performs unbind. Must be called with locks held.
- int unbind_i (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *entry);
+ int unbind_i (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry);
/**
* Resize the map. Must be called with locks held.
@@ -527,25 +535,25 @@ protected:
*/
int create_buckets (size_t size);
- /// Close down a <Map_Manager_Ex>. Must be called with
+ /// Close down a <Map_Manager>. Must be called with
/// locks held.
int close_i (void);
- /// Removes all the entries in <Map_Manager_Ex>. Must be called with
+ /// Removes all the entries in <Map_Manager>. Must be called with
/// locks held.
int unbind_all_i (void);
/// Pointer to a memory allocator used for table_, so it should
- /// supply size*sizeof (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>),
+ /// supply size*sizeof (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>),
ACE_Allocator *table_allocator_;
/// Addidtional allocator for entries, so it should be able to
- /// allocate 'size' / chunks of sizeof(ACE_Hash_MultiMap_Entry<EXT_ID,
+ /// allocate 'size' / chunks of sizeof(ACE_Hash_Multi_Map_Entry<EXT_ID,
/// INT_ID>) bytes each.
ACE_Allocator *entry_allocator_;
/// Synchronization variable for the MT_SAFE
- /// @c ACE_Hash_MultiMap_Manager_Ex.
+ /// @c ACE_Hash_Multi_Map_Manager.
ACE_LOCK lock_;
/// Function object used for hashing keys.
@@ -555,24 +563,24 @@ protected:
COMPARE_KEYS compare_keys_;
protected:
- /// Returns the <ACE_Hash_MultiMap_Entry> that corresponds to <ext_id>.
+ /// Returns the <ACE_Hash_Multi_Map_Entry> that corresponds to <ext_id>.
int shared_find (const EXT_ID &ext_id,
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&entry,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry,
size_t &loc);
/// Accessor of the underlying table
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *table (void);
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *table (void);
/// Accessor of the current size attribute
size_t cur_size (void) const;
private:
/**
- * Array of <ACE_Hash_MultiMap_Entry> *s, each of which points to an
- * <ACE_Hash_MultiMap_Entry> that serves as the beginning of a linked
+ * Array of <ACE_Hash_Multi_Map_Entry> *s, each of which points to an
+ * <ACE_Hash_Multi_Map_Entry> that serves as the beginning of a linked
* list of <EXT_ID>s that hash to that bucket.
*/
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *table_;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *table_;
/// Total size of the hash table.
size_t total_size_;
@@ -583,50 +591,50 @@ private:
size_t cur_size_;
// = Disallow these operations.
- ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &))
- ACE_UNIMPLEMENTED_FUNC (ACE_Hash_MultiMap_Manager_Ex (const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &))
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Hash_Multi_Map_Manager (const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &))
};
/**
- * @class ACE_Hash_MultiMap_Iterator_Base_Ex
+ * @class ACE_Hash_Multi_Map_Iterator_Base
*
- * @brief Base iterator for the <ACE_Hash_MultiMap_Manager_Ex>
+ * @brief Base iterator for the <ACE_Hash_Multi_Map_Manager>
*
* This class factors out common code from its templatized
* subclasses.
*/
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Iterator_Base_Ex
+class ACE_Hash_Multi_Map_Iterator_Base
{
public:
// = Initialization method.
/// Contructor. If head != 0, the iterator constructed is positioned
/// at the head of the map, it is positioned at the end otherwise.
- ACE_Hash_MultiMap_Iterator_Base_Ex (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int head);
+ ACE_Hash_Multi_Map_Iterator_Base (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int head);
// = ITERATION methods.
/// Pass back the next <entry> that hasn't been seen in the Set.
/// Returns 0 when all items have been seen, else 1.
- int next (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&next_entry) const;
+ int next (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&next_entry) const;
/// Returns 1 when all items have been seen, else 0.
int done (void) const;
/// Returns a reference to the interal element <this> is pointing to.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>& operator* (void) const;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>& operator* (void) const;
/// Returns a pointer to the interal element <this> is pointing to.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>* operator-> (void) const;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>* operator-> (void) const;
- /// Returns reference the Hash_MultiMap_Manager_Ex that is being iterated
+ /// Returns reference the Hash_Multi_Map_Manager that is being iterated
/// over.
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>& map (void);
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>& map (void);
/// Check if two iterators point to the same position
- bool operator== (const ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
- bool operator!= (const ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
+ bool operator== (const ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
+ bool operator!= (const ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
@@ -644,56 +652,56 @@ protected:
void dump_i (void) const;
/// Map we are iterating over.
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *map_man_;
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *map_man_;
/// Keeps track of how far we've advanced in the table.
ssize_t index_;
/// Keeps track of how far we've advanced in a linked list in each
/// table slot.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next_;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next_;
};
/**
- * @class ACE_Hash_MultiMap_Const_Iterator_Base_Ex
+ * @class ACE_Hash_Multi_Map_Const_Iterator_Base
*
- * @brief Base const iterator for the <ACE_Hash_MultiMap_Manager_Ex>
+ * @brief Base const iterator for the <ACE_Hash_Multi_Map_Manager>
*
* This class factors out common code from its templatized
* subclasses.
*/
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Const_Iterator_Base_Ex
+class ACE_Hash_Multi_Map_Const_Iterator_Base
{
public:
// = Initialization method.
/// Contructor. If head != 0, the iterator constructed is positioned
/// at the head of the map, it is positioned at the end otherwise.
- ACE_Hash_MultiMap_Const_Iterator_Base_Ex (const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int head);
+ ACE_Hash_Multi_Map_Const_Iterator_Base (const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int head);
// = ITERATION methods.
/// Pass back the next <entry> that hasn't been seen in the Set.
/// Returns 0 when all items have been seen, else 1.
- int next (ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *&next_entry) const;
+ int next (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&next_entry) const;
/// Returns 1 when all items have been seen, else 0.
int done (void) const;
/// Returns a reference to the interal element <this> is pointing to.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>& operator* (void) const;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>& operator* (void) const;
/// Returns a pointer to the interal element <this> is pointing to.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>* operator-> (void) const;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>* operator-> (void) const;
- /// Returns reference the Hash_MultiMap_Manager_Ex that is being iterated
+ /// Returns reference the Hash_Multi_Map_Manager that is being iterated
/// over.
- const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>& map (void);
+ const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>& map (void);
/// Check if two iterators point to the same position
- bool operator== (const ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
- bool operator!= (const ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
+ bool operator== (const ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
+ bool operator!= (const ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
@@ -711,35 +719,35 @@ protected:
void dump_i (void) const;
/// Map we are iterating over.
- const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *map_man_;
+ const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *map_man_;
/// Keeps track of how far we've advanced in the table.
ssize_t index_;
/// Keeps track of how far we've advanced in a linked list in each
/// table slot.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next_;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next_;
};
/**
- * @class ACE_Hash_MultiMap_Iterator_Ex
+ * @class ACE_Hash_Multi_Map_Iterator
*
- * @brief Forward iterator for the <ACE_Hash_MultiMap_Manager_Ex>.
+ * @brief Forward iterator for the <ACE_Hash_Multi_Map_Manager>.
*
* This class does not perform any internal locking of the
- * <ACE_Hash_MultiMap_Manager_Ex> it is iterating upon since locking is
+ * <ACE_Hash_Multi_Map_Manager> it is iterating upon since locking is
* inherently inefficient and/or error-prone within an STL-style
* iterator. If you require locking, you can explicitly use an
- * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_MultiMap_Manager_Ex>'s
+ * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_Multi_Map_Manager>'s
* internal lock, which is accessible via its <mutex> method.
*/
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Iterator_Ex : public ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+class ACE_Hash_Multi_Map_Iterator : public ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
{
public:
// = Initialization method.
- ACE_Hash_MultiMap_Iterator_Ex (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int tail = 0);
+ ACE_Hash_Multi_Map_Iterator (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int tail = 0);
// = Iteration methods.
/// Move forward by one element in the set. Returns 0 when all the
@@ -752,40 +760,40 @@ public:
// = STL styled iteration, compare, and reference functions.
/// Prefix advance.
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
/// Postfix advance.
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
/// Prefix reverse.
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
/// Postfix reverse.
- ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
};
/**
- * @class ACE_Hash_MultiMap_Const_Iterator_Ex
+ * @class ACE_Hash_Multi_Map_Const_Iterator
*
- * @brief Const forward iterator for the <ACE_Hash_MultiMap_Manager_Ex>.
+ * @brief Const forward iterator for the <ACE_Hash_Multi_Map_Manager>.
*
* This class does not perform any internal locking of the
- * <ACE_Hash_MultiMap_Manager_Ex> it is iterating upon since locking is
+ * <ACE_Hash_Multi_Map_Manager> it is iterating upon since locking is
* inherently inefficient and/or error-prone within an STL-style
* iterator. If you require locking, you can explicitly use an
- * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_MultiMap_Manager_Ex>'s
+ * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_Multi_Map_Manager>'s
* internal lock, which is accessible via its <mutex> method.
*/
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Const_Iterator_Ex : public ACE_Hash_MultiMap_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+class ACE_Hash_Multi_Map_Const_Iterator : public ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
{
public:
// = Initialization method.
- ACE_Hash_MultiMap_Const_Iterator_Ex (const ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int tail = 0);
+ ACE_Hash_Multi_Map_Const_Iterator (const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int tail = 0);
// = Iteration methods.
/// Move forward by one element in the set. Returns 0 when all the
@@ -798,33 +806,33 @@ public:
// = STL styled iteration, compare, and reference functions.
/// Prefix advance.
- ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
+ ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
/// Postfix advance.
- ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
+ ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
/// Prefix reverse.
- ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
+ ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
/// Postfix reverse.
- ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
+ ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
};
/**
- * @class ACE_Hash_MultiMap_Bucket_Iterator
+ * @class ACE_Hash_Multi_Map_Bucket_Iterator
*
- * @brief Forward iterator for the <ACE_Hash_MultiMap_Manager_Ex> which
+ * @brief Forward iterator for the <ACE_Hash_Multi_Map_Manager> which
* only traverses a particular bucket. The particular bucket is
* specified by the <EXT_ID> parameter specified in the constructor.
*
* This class does not perform any internal locking of the
- * <ACE_Hash_MultiMap_Manager_Ex> it is iterating upon since locking is
+ * <ACE_Hash_Multi_Map_Manager> it is iterating upon since locking is
* inherently inefficient and/or error-prone within an STL-style
* iterator. If you require locking, you can explicitly use an
- * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_MultiMap_Manager_Ex>'s
+ * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_Multi_Map_Manager>'s
* internal lock, which is accessible via its <mutex> method.
*
* Note that a creation method for this new iterator cannot be added
@@ -833,41 +841,41 @@ public:
* templates.
*/
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Bucket_Iterator
+class ACE_Hash_Multi_Map_Bucket_Iterator
{
public:
// = Initialization method.
- ACE_Hash_MultiMap_Bucket_Iterator (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- const EXT_ID &ext_id,
- int tail = 0);
+ ACE_Hash_Multi_Map_Bucket_Iterator (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ const EXT_ID &ext_id,
+ int tail = 0);
// = STL styled iteration, compare, and reference functions.
/// Prefix advance.
- ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
+ ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
/// Postfix advance.
- ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
+ ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
/// Prefix reverse.
- ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
+ ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
/// Postfix reverse.
- ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
+ ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
/// Returns a reference to the interal element <this> is pointing to.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>& operator* (void) const;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>& operator* (void) const;
/// Returns a pointer to the interal element <this> is pointing to.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>* operator-> (void) const;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID>* operator-> (void) const;
- /// Returns reference the Hash_MultiMap_Manager_Ex that is being iterated
+ /// Returns reference the Hash_Multi_Map_Manager that is being iterated
/// over.
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>& map (void);
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>& map (void);
/// Check if two iterators point to the same position
- bool operator== (const ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
- bool operator!= (const ACE_Hash_MultiMap_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
+ bool operator== (const ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
+ bool operator!= (const ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &) const;
protected:
/// Move forward by one element in the set. Returns 0 when there's
@@ -879,35 +887,35 @@ protected:
int reverse_i (void);
/// Map we are iterating over.
- ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *map_man_;
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *map_man_;
/// Keeps track of how far we've advanced in the table.
ssize_t index_;
/// Keeps track of how far we've advanced in a linked list in each
/// table slot.
- ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID> *next_;
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *next_;
};
/**
- * @class ACE_Hash_MultiMap_Reverse_Iterator_Ex
+ * @class ACE_Hash_Multi_Map_Reverse_Iterator
*
- * @brief Reverse iterator for the <ACE_Hash_MultiMap_Manager_Ex>.
+ * @brief Reverse iterator for the <ACE_Hash_Multi_Map_Manager>.
*
* This class does not perform any internal locking of the
- * <ACE_Hash_MultiMap_Manager_Ex> it is iterating upon since locking is
+ * <ACE_Hash_Multi_Map_Manager> it is iterating upon since locking is
* inherently inefficient and/or error-prone within an STL-style
* iterator. If you require locking, you can explicitly use an
- * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_MultiMap_Manager_Ex>'s
+ * ACE_Guard or ACE_Read_Guard on the <ACE_Hash_Multi_Map_Manager>'s
* internal lock, which is accessible via its <mutex> method.
*/
template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK>
-class ACE_Hash_MultiMap_Reverse_Iterator_Ex : public ACE_Hash_MultiMap_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+class ACE_Hash_Multi_Map_Reverse_Iterator : public ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
{
public:
// = Initialization method.
- ACE_Hash_MultiMap_Reverse_Iterator_Ex (ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
- int head = 0);
+ ACE_Hash_Multi_Map_Reverse_Iterator (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int head = 0);
// = Iteration methods.
/// Move forward by one element in the set. Returns 0 when all the
@@ -920,181 +928,34 @@ public:
// = STL styled iteration, compare, and reference functions.
/// Prefix reverse.
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void);
/// Postfix reverse.
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int);
/// Prefix advance.
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void);
/// Postfix advance.
- ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int);
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
};
-/**
- * @class ACE_Hash_MultiMap_Manager
- *
- * @brief 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.
- *
- * <b> Requirements and Performance Characteristics</b>
- * - Internal Structure
- * Hash Table
- * - Duplicates allowed?
- * No
- * - Random access allowed?
- * Yes
- * - Search speed
- * O(1)
- * - Insert/replace speed
- * O(1), can be longer if the hash map has to resize
- * - Iterator still valid after change to container?
- * Yes
- * - Frees memory for removed elements?
- * Yes
- * - Items inserted by
- * Value
- * - Requirements for key type
- * -# Default constructor
- * -# Copy constructor
- * -# operator=
- * -# operator==
- * - Requirements for object type
- * -# Default constructor
- * -# Copy constructor
- * -# operator=
- * -# operator<
- */
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-class ACE_Hash_MultiMap_Manager : public ACE_Hash_MultiMap_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>
-{
-public:
-
- /**
- * Initialize a @c Hash_MultiMap_Manager with default size elements.
- * @param table_alloc is a pointer to a memory allocator used for
- * table_, so it should supply size*sizeof (ACE_Hash_MultiMap_Entry<EXT_ID,
- * ACE_Unbounded_Set<INT_ID>>).
- * @param entry_alloc is a pointer to an additional allocator for
- * entries, so it should be able to allocate 'size' / chunks
- * of sizeof(ACE_Hash_MultiMap_Entry<EXT_ID, ACE_Unbounded_Set<INT_ID> >) bytes each.
- * If @c table_alloc is 0 it defaults to @c ACE_Allocator::instance().
- * If @c entry_alloc is 0 then it defaults to the same allocator as
- * @c table_alloc.
- */
- ACE_Hash_MultiMap_Manager (ACE_Allocator *table_alloc = 0,
- ACE_Allocator *entry_alloc = 0);
-
- /**
- * Initialize a @c Hash_MultiMap_Manager with @c size elements.
- * @param table_alloc is a pointer to a memory allocator used for
- * table_, so it should supply size*sizeof (ACE_Hash_MultiMap_Entry<EXT_ID,
- * ACE_Unbounded_Set<INT_ID>>).
- * @param entry_alloc is a pointer to an additional allocator for
- * entries, so it should be able to allocate 'size' / chunks
- * of sizeof(ACE_Hash_MultiMap_Entry<EXT_ID, INT_ID>) bytes each.
- * If @c table_alloc is 0 it defaults to @c ACE_Allocator::instance().
- * If @c entry_alloc is 0 then it defaults to the same allocator as
- * @c table_alloc.
- */
- ACE_Hash_MultiMap_Manager (size_t size,
- ACE_Allocator *table_alloc = 0,
- ACE_Allocator *entry_alloc = 0);
-
- // = The following two are necessary for template specialization of
- // ACE_Hash_MultiMap_Manager to work.
- int equal (const EXT_ID &id1, const EXT_ID &id2);
- u_long hash (const EXT_ID &ext_id);
-};
-
-/**
- * @class ACE_Hash_MultiMap_Iterator
- *
- * @brief Wrapper for backward compatibility.
- */
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-class ACE_Hash_MultiMap_Iterator : public ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>
-{
-public:
- // = Initialization method.
- /// Construct from map
- ACE_Hash_MultiMap_Iterator (ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
- int tail = 0);
-
- /// Construct from base
- ACE_Hash_MultiMap_Iterator (const ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base);
-
- /// Assignment from base
- ACE_Hash_MultiMap_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
- operator= (const ACE_Hash_MultiMap_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base);
-};
-
-/**
- * @class ACE_Hash_MultiMap_Const_Iterator
- *
- * @brief Wrapper for backward compatibility.
- */
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-class ACE_Hash_MultiMap_Const_Iterator : public ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>
-{
-public:
- // = Initialization method.
- /// Construct from map
- ACE_Hash_MultiMap_Const_Iterator (const ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
- int tail = 0);
-
- /// Construct from base
- ACE_Hash_MultiMap_Const_Iterator (const ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base);
-
- /// Assignment from base
- ACE_Hash_MultiMap_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
- operator= (const ACE_Hash_MultiMap_Const_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base);
-};
-
-/**
- * @class ACE_Hash_MultiMap_Reverse_Iterator
- *
- * @brief Wrapper for backward compatibility.
- */
-template <class EXT_ID, class INT_ID, class ACE_LOCK>
-class ACE_Hash_MultiMap_Reverse_Iterator : public ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>
-{
-public:
- // = Initialization method.
- ACE_Hash_MultiMap_Reverse_Iterator (ACE_Hash_MultiMap_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
- int head = 0);
-
- /// Construct from base
- ACE_Hash_MultiMap_Reverse_Iterator (const ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base);
-
- /// Assignment from base
- ACE_Hash_MultiMap_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
- operator= (const ACE_Hash_MultiMap_Reverse_Iterator_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK> &base);
-};
-
ACE_END_VERSIONED_NAMESPACE_DECL
#if defined (__ACE_INLINE__)
-# include "ace/Hash_MultiMap_Manager_T.inl"
+# include "ace/Hash_Multi_Map_Manager_T.inl"
#endif /* __ACE_INLINE__ */
#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "ace/Hash_MultiMap_Manager_T.cpp"
+#include "ace/Hash_Multi_Map_Manager_T.cpp"
#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Hash_MultiMap_Manager_T.cpp")
+#pragma implementation ("Hash_Multi_Map_Manager_T.cpp")
#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
#include /**/ "ace/post.h"
-#endif /* ACE_HASH_MULTIMAP_MANAGER_T_H */
+#endif /* ACE_HASH_MULTI_MAP_MANAGER_T_H */
diff --git a/ACE/ace/Hash_Multi_Map_Manager_T.inl b/ACE/ace/Hash_Multi_Map_Manager_T.inl
new file mode 100644
index 00000000000..4b57df90b15
--- /dev/null
+++ b/ACE/ace/Hash_Multi_Map_Manager_T.inl
@@ -0,0 +1,994 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "ace/Guard_T.h"
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Manager (size_t size,
+ ACE_Allocator *table_alloc,
+ ACE_Allocator *entry_alloc)
+ : table_allocator_ (table_alloc),
+ entry_allocator_ (entry_alloc),
+ table_ (0),
+ total_size_ (0),
+ cur_size_ (0)
+{
+ if (this->open (size, table_alloc, entry_alloc) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_LIB_TEXT ("ACE_Hash_Multi_Map_Manager\n")));
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Manager (ACE_Allocator *table_alloc,
+ ACE_Allocator *entry_alloc)
+ : table_allocator_ (table_alloc),
+ entry_allocator_ (entry_alloc),
+ table_ (0),
+ total_size_ (0),
+ cur_size_ (0)
+{
+ if (this->open (ACE_DEFAULT_MAP_SIZE, table_alloc, entry_alloc) == -1)
+ ACE_ERROR ((LM_ERROR, ACE_LIB_TEXT ("ACE_Hash_Multi_Map_Manager\n")));
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::close (void)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->close_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_all (void)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->unbind_all_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::~ACE_Hash_Multi_Map_Manager (void)
+{
+ this->close ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE size_t
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::current_size (void) const
+{
+ return this->cur_size_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE size_t
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::total_size (void) const
+{
+ return this->total_size_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE ACE_LOCK &
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::mutex (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Manager::mutex");
+ return this->lock_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE u_long
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::hash (const EXT_ID &ext_id)
+{
+ return this->hash_key_ (ext_id);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::equal (const EXT_ID &id1,
+ const EXT_ID &id2)
+{
+ return this->compare_keys_ (id1, id2);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
+ const INT_ID &int_id)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *temp;
+
+ return this->bind_i (ext_id, int_id, temp);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *temp;
+
+ return this->bind_i (ext_id, int_id_set, temp);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
+ const INT_ID &int_id)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->bind_i (ext_id, int_id);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
+ const INT_ID &int_id,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->bind_i (ext_id, int_id, entry);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->bind_i (ext_id, int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::bind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->bind_i (ext_id, int_id_set, entry);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind_i (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *temp;
+
+ int result = this->trybind_i (ext_id, int_id_set, temp);
+ if (result == 1)
+ int_id_set = temp->int_id_set_;
+ return result;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->trybind_i (ext_id, int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::trybind (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->trybind_i (ext_id, int_id_set, entry);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind_i (const EXT_ID &ext_id)
+{
+ ACE_Unbounded_Set<INT_ID> int_id_set;
+
+ return this->unbind_i (ext_id, int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->unbind_i (ext_id, int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (const EXT_ID &ext_id,
+ const INT_ID &int_id)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->unbind_i (ext_id, int_id);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (const EXT_ID &ext_id)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->unbind_i (ext_id) == -1 ? -1 : 0;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::unbind (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->unbind_i (entry) == -1 ? -1 : 0;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry;
+
+ size_t dummy;
+ if (this->shared_find (ext_id, entry, dummy) == -1)
+ return -1;
+ else
+ {
+ int_id_set = entry->int_id_set_;
+ return 0;
+ }
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id,
+ const INT_ID &int_id)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry;
+
+ size_t dummy;
+ if (this->shared_find (ext_id, entry, dummy) == -1)
+ return -1;
+ else
+ {
+ if (0 == entry->int_id_set_.find (int_id))
+ return 0;
+ else
+ return -1;
+ }
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *entry;
+
+ size_t dummy;
+ return this->shared_find (ext_id, entry, dummy);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id,
+ ACE_Unbounded_Set<INT_ID> &int_id_set) const
+{
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
+ const_cast <ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
+ (this);
+
+ ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
+
+ return nc_this->find_i (ext_id, int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id,
+ const INT_ID &int_id) const
+{
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
+ const_cast <ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
+ (this);
+
+ ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
+
+ return nc_this->find_i (ext_id, int_id);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id) const
+{
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
+ const_cast <ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
+ (this);
+
+ ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
+
+ return nc_this->find_i (ext_id);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &ext_id,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
+{
+ size_t dummy;
+ return this->shared_find (ext_id, entry, dummy);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::find (const EXT_ID &ext_id,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry) const
+{
+ ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *nc_this =
+ const_cast <ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> *>
+ (this);
+
+ ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
+
+ return nc_this->find_i (ext_id, entry);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *node;
+
+ return this->rebind_i (ext_id,
+ int_id_set,
+ node);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *node;
+
+ return this->rebind_i (ext_id,
+ int_id_set,
+ old_int_id_set,
+ node);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind_i (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ EXT_ID &old_ext_id,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set)
+{
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *node;
+
+ return this->rebind_i (ext_id,
+ int_id_set,
+ old_ext_id,
+ old_int_id_set,
+ node);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->rebind_i (ext_id, int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->rebind_i (ext_id, int_id_set, entry);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->rebind_i (ext_id, int_id_set, old_int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->rebind_i (ext_id, int_id_set, old_int_id_set, entry);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ EXT_ID &old_ext_id,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->rebind_i (ext_id, int_id_set, old_ext_id, old_int_id_set);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rebind (const EXT_ID &ext_id,
+ const ACE_Unbounded_Set<INT_ID> &int_id_set,
+ EXT_ID &old_ext_id,
+ ACE_Unbounded_Set<INT_ID> &old_int_id_set,
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry)
+{
+ ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
+
+ return this->rebind_i (ext_id, int_id_set, old_ext_id, old_int_id_set, entry);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::begin (void)
+{
+ return ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::end (void)
+{
+ return ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this, 1);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rbegin (void)
+{
+ return ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rend (void)
+{
+ return ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (*this, 1);
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::table (void)
+{
+ return this->table_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+size_t
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::cur_size (void) const
+{
+ return this->cur_size_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Iterator_Base (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int head)
+ : map_man_ (&mm),
+ index_ (head != 0 ? -1 : (ssize_t) mm.total_size_),
+ next_ (0)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Iterator_Base");
+
+ if (mm.table_ != 0)
+ this->next_ = &mm.table_[head != 0 ? 0 : mm.total_size_ - 1];
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next");
+
+ if (this->map_man_->table_ != 0
+ && this->index_ < static_cast<ssize_t> (this->map_man_->total_size_)
+ && this->index_ >= 0
+ && this->next_ != &this->map_man_->table_[this->index_])
+ {
+ entry = this->next_;
+ return 1;
+ }
+ else
+ return 0;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done");
+
+ return this->map_man_->table_ == 0
+ || this->index_ >= static_cast<ssize_t> (this->map_man_->total_size_)
+ || this->index_ < 0;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> &
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator* (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator*");
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *retv = 0;
+
+ int result = this->next (retv);
+
+ ACE_UNUSED_ARG (result);
+ ACE_ASSERT (result != 0);
+
+ return *retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-> (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator->");
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *retv = 0;
+
+ int result = this->next (retv);
+
+ ACE_UNUSED_ARG (result);
+ ACE_ASSERT (result != 0);
+
+ return retv;
+}
+
+// Returns the reference to the Hash_Multi_Map_manager_ex that is being
+// iterated over.
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>&
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map");
+ return *this->map_man_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator== (const ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator==");
+ return this->map_man_ == rhs.map_man_
+ && this->index_ == rhs.index_
+ && this->next_ == rhs.next_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
+ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!= (const ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!=");
+ return this->next_ != rhs.next_
+ || this->index_ != rhs.index_
+ || this->map_man_ != rhs.map_man_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Const_Iterator_Base (const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int head)
+ : map_man_ (&mm),
+ index_ (head != 0 ? -1 : (ssize_t) mm.total_size_),
+ next_ (0)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Const_Iterator_Base");
+
+ if (mm.table_ != 0)
+ this->next_ = &mm.table_[head != 0 ? 0 : mm.total_size_ - 1];
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next (ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *&entry) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::next");
+
+ if (this->map_man_->table_ != 0
+ && this->index_ < (ssize_t) this->map_man_->total_size_
+ && this->index_ >= 0
+ && this->next_ != &this->map_man_->table_[this->index_])
+ {
+ entry = this->next_;
+ return 1;
+ }
+ else
+ return 0;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::done");
+
+ return this->map_man_->table_ == 0
+ || this->index_ >= (ssize_t) this->map_man_->total_size_
+ || this->index_ < 0;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> &
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator* (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator*");
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *retv = 0;
+
+ int result = this->next (retv);
+
+ ACE_UNUSED_ARG (result);
+ ACE_ASSERT (result != 0);
+
+ return *retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-> (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator->");
+ ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *retv = 0;
+
+ int result = this->next (retv);
+
+ ACE_UNUSED_ARG (result);
+ ACE_ASSERT (result != 0);
+
+ return retv;
+}
+
+// Returns the reference to the Hash_Multi_Map_manager_ex that is being
+// iterated over.
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>&
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map");
+ return *this->map_man_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator== (const ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator==");
+ return this->map_man_ == rhs.map_man_
+ && this->index_ == rhs.index_
+ && this->next_ == rhs.next_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
+ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!= (const ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!=");
+ return this->next_ != rhs.next_
+ || this->index_ != rhs.index_
+ || this->map_man_ != rhs.map_man_;
+}
+
+ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Multi_Map_Iterator)
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE void
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
+{
+#if defined (ACE_HAS_DUMP)
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump");
+
+ this->dump_i ();
+#endif /* ACE_HAS_DUMP */
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Iterator (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int tail)
+ : ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (mm,
+ tail == 0 ? 1 : 0)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Iterator");
+ if (tail == 0)
+ this->forward_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance");
+ return this->forward_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
+
+ this->forward_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
+
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ ++*this;
+ return retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
+
+ this->reverse_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
+
+ ACE_Hash_Multi_Map_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ --*this;
+ return retv;
+}
+
+ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Multi_Map_Const_Iterator)
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE void
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
+{
+#if defined (ACE_HAS_DUMP)
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump");
+
+ this->dump_i ();
+#endif /* ACE_HAS_DUMP */
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Const_Iterator (const ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ int tail)
+ : ACE_Hash_Multi_Map_Const_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (mm,
+ tail == 0 ? 1 : 0)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Const_Iterator");
+ if (tail == 0)
+ this->forward_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance");
+ return this->forward_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
+
+ this->forward_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
+
+ ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ ++*this;
+ return retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
+
+ this->reverse_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
+
+ ACE_Hash_Multi_Map_Const_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ --*this;
+ return retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Bucket_Iterator (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm,
+ const EXT_ID &ext_id,
+ int tail)
+ : map_man_ (&mm)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Bucket_Iterator");
+
+ this->index_ = this->map_man_->hash (ext_id) % this->map_man_->total_size_;
+ this->next_ = &this->map_man_->table_[this->index_];
+
+ if (tail == 0)
+ this->forward_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
+
+ this->forward_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
+
+ ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ ++*this;
+ return retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
+
+ this->reverse_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
+
+ ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ --*this;
+ return retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::forward_i");
+
+ this->next_ = this->next_->next_;
+ return this->next_ != &this->map_man_->table_[this->index_];
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> int
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::reverse_i");
+
+ this->next_ = this->next_->prev_;
+ return this->next_ != &this->map_man_->table_[this->index_];
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> &
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator* (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator*");
+
+ return *this->next_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Entry<EXT_ID, INT_ID> *
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-> (void) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator->");
+
+ return this->next_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::map");
+ return *this->map_man_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator== (const ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator==");
+ return this->map_man_ == rhs.map_man_
+ && this->index_ == rhs.index_
+ && this->next_ == rhs.next_;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE bool
+ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!= (const ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &rhs) const
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator!=");
+ return this->next_ != rhs.next_
+ || this->index_ != rhs.index_
+ || this->map_man_ != rhs.map_man_;
+}
+
+ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Multi_Map_Reverse_Iterator)
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE void
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const
+{
+#if defined (ACE_HAS_DUMP)
+ ACE_TRACE ("ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump");
+
+ this->dump_i ();
+#endif /* ACE_HAS_DUMP */
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Reverse_Iterator (ACE_Hash_Multi_Map_Manager<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm, int head)
+ : ACE_Hash_Multi_Map_Iterator_Base<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (mm, head)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Multi_Map_Reverse_Iterator");
+ if (head == 0)
+ this->reverse_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance");
+ return this->reverse_i ();
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)");
+
+ this->reverse_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)");
+
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ ++*this;
+ return retv;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)");
+
+ this->forward_i ();
+ return *this;
+}
+
+template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>
+ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)
+{
+ ACE_TRACE ("ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)");
+
+ ACE_Hash_Multi_Map_Reverse_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this);
+ --*this;
+ return retv;
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/ace.mpc b/ACE/ace/ace.mpc
index 5783f287e0e..c8c8bc9f597 100644
--- a/ACE/ace/ace.mpc
+++ b/ACE/ace/ace.mpc
@@ -307,7 +307,7 @@ project(ACE) : acedefaults, core, other, codecs, token, svcconf, uuid, filecache
Guard_T.cpp
Hash_Cache_Map_Manager_T.cpp
Hash_Map_Manager_T.cpp
- Hash_MultiMap_Manager_T.cpp
+ Hash_Multi_Map_Manager_T.cpp
Hash_Map_With_Allocator_T.cpp
IOStream_T.cpp
Intrusive_List.cpp
@@ -379,7 +379,6 @@ project(ACE) : acedefaults, core, other, codecs, token, svcconf, uuid, filecache
Global_Macros.h
Guard_T.h
Hash_Map_Manager.h
- Hash_MultiMap_Manager.h
Handle_Gobbler.h
If_Then_Else.h
IO_Cntl_Msg.h