ACE_Hash_Map_Manager
.
#include <ace/Hash_Map_Manager.h>
template<class EXT_ID, class INT_ID, class ACE_LOCK> class ACE_Hash_Map_Iterator : public ACE_Hash_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> {
public:
ACE_Hash_Map_Iterator ( ACE_Hash_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm, int tail = 0 );
int advance (void);
void dump (void) const;
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &operator++ ( void );
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> operator++ (int);
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &operator-- ( void );
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> operator-- (int);
ACE_ALLOC_HOOK_DECLARE;
};
ACE_Hash_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_Map_Manager
's
internal lock, which is accessible via its mutex
method.
ACE_Hash_Map_Iterator (
ACE_Hash_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
int tail = 0
);
int advance (void);
void dump (void) const;
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &operator++ (void);
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> operator++ (int);
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &operator-- (void);
ACE_Hash_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> operator-- (int);
ACE_ALLOC_HOOK_DECLARE;