#include <ace/Malloc_T.h>
template<ACE_MEM_POOL_1, class ACE_LOCK, class ACE_CB> class ACE_Malloc_LIFO_Iterator_T {
public:
typedef ACE_TYPENAME ACE_CB::ACE_Name_Node NAME_NODE;
typedef ACE_TYPENAME ACE_CB::ACE_Malloc_Header MALLOC_HEADER;
ACE_Malloc_LIFO_Iterator_T ( ACE_Malloc_T<ACE_MEM_POOL_2, ACE_LOCK, ACE_CB> &malloc, const char *name = 0 );
~ACE_Malloc_LIFO_Iterator_T (void);
int done (void) const;
int next (void *&next_entry);
int next (void *&next_entry, const char *&name);
int advance (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
private:
ACE_Malloc_T<ACE_MEM_POOL_2, ACE_LOCK, ACE_CB> &malloc_;
NAME_NODE *curr_;
ACE_Read_Guard<ACE_LOCK> guard_;
const char *name_;
};
ACE_Malloc_LIFO_Iterator_T (
ACE_Malloc_T<ACE_MEM_POOL_2, ACE_LOCK, ACE_CB> &malloc,
const char *name = 0
);
name
= 0 it will iterate through everything else only
through those entries whose name
match.
~ACE_Malloc_LIFO_Iterator_T (void);
int done (void) const;
int next (void *&next_entry);
entry
in the set that hasn't yet been
visited. Returns 0 when all items have been seen, else 1.
int next (void *&next_entry, const char *&name);
entry
(and the name
associated with it) in
the set that hasn't yet been visited. Returns 0 when all items
have been seen, else 1.
int advance (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;