Reference

ACE_Timer_Hash_Iterator_T(3)

Iterates over an ACE_Timer_Hash.

NAME

ACE_Timer_Hash_Iterator_T - Iterates over an ACE_Timer_Hash.

SYNOPSIS

#include <ace/Timer_Hash_T.h>
template<class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET>
class ACE_Timer_Hash_Iterator_T : 
  public ACE_Timer_Queue_Iterator_T <TYPE, FUNCTOR, ACE_LOCK>
{
  public:
    ACE_Timer_Hash_Iterator_T (
        ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET> &
        );
    virtual void first (void);
    virtual void next (void);
    virtual int isdone (void);
    virtual ACE_Timer_Node_T<TYPE> *item (void);
  protected:
    ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET> &timer_hash_;
    size_t position_;
        ACE_Timer_Queue_Iterator_T<TYPE, ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>, ACE_Null_Mutex> *iter_;
        
};

DESCRIPTION

This is a generic iterator that can be used to visit every node of a timer queue. Be aware that it doesn't transverse in the order of timeout values.

PUBLIC MEMBERS

ACE_Timer_Hash_Iterator_T (
    ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET> &
    );

Constructor.

virtual void first (void);

Positions the iterator at the earliest node in the Timer Queue

virtual void next (void);

Positions the iterator at the next node in the Timer Queue

virtual int isdone (void);

Returns true when there are no more nodes in the sequence

virtual ACE_Timer_Node_T<TYPE> *item (void);

Returns the node at the current position in the sequence

PROTECTED MEMBERS

ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET> &timer_hash_;

Pointer to the ACE_Timer_Hash that we are iterating over.

size_t position_;

Current position in timer_hash_'s table

    ACE_Timer_Queue_Iterator_T<TYPE, ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>, ACE_Null_Mutex> *iter_;
    

Current iterator used on position's bucket

AUTHOR

Darrell Brunsch [email protected]

LIBRARY

ace