ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK > Class Template Reference

Iterates over an . More...

#include <Timer_Heap_T.h>

Inheritance diagram for ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >:

Inheritance graph
[legend]
Collaboration diagram for ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Timer_Heap_Iterator_T (ACE_Timer_Heap_T< TYPE, FUNCTOR, ACE_LOCK > &)
 Constructor.

 ~ACE_Timer_Heap_Iterator_T (void)
 Destructor.

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) const
 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 Attributes

ACE_Timer_Heap_T< TYPE, FUNCTOR,
ACE_LOCK > & 
timer_heap_
 Pointer to the ACE_Timer_Heap that we are iterating over.

size_t position_
 Position in the array where the iterator is at.


Detailed Description

template<class TYPE, class FUNCTOR, class ACE_LOCK>
class ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >

Iterates over an .

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.

Definition at line 42 of file Timer_Heap_T.h.


Constructor & Destructor Documentation

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_Heap_Iterator_T ACE_Timer_Heap_T< TYPE, FUNCTOR, ACE_LOCK > &   ) 
 

Constructor.

Definition at line 43 of file Timer_Heap_T.cpp.

References ACE_TRACE, and ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::first().

00044   : timer_heap_ (heap)
00045 {
00046   ACE_TRACE ("ACE_Timer_Heap_Iterator_T::ACE_Timer_Heap_Iterator");
00047   this->first();
00048 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::~ACE_Timer_Heap_Iterator_T void   ) 
 

Destructor.

Definition at line 51 of file Timer_Heap_T.cpp.

00052 {
00053 }


Member Function Documentation

template<class TYPE, class FUNCTOR, class ACE_LOCK>
void ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::first void   )  [virtual]
 

Positions the iterator at the earliest node in the Timer Queue.

Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >.

Definition at line 58 of file Timer_Heap_T.cpp.

Referenced by ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_Heap_Iterator_T(), and ACE_Timer_Heap_T< TYPE, FUNCTOR, ACE_LOCK >::iter().

00059 {
00060   this->position_ = 0;
00061 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
int ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::isdone void   )  const [virtual]
 

Returns true when there are no more nodes in the sequence.

Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >.

Definition at line 75 of file Timer_Heap_T.cpp.

References ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::timer_heap_.

00076 {
00077   return this->position_ == this->timer_heap_.cur_size_;
00078 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Node_T< TYPE > * ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::item void   )  [virtual]
 

Returns the node at the current position in the sequence.

Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >.

Definition at line 83 of file Timer_Heap_T.cpp.

References ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::timer_heap_.

00084 {
00085   if (this->position_ != this->timer_heap_.cur_size_)
00086     return this->timer_heap_.heap_[this->position_];
00087   return 0;
00088 }

template<class TYPE, class FUNCTOR, class ACE_LOCK>
void ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::next void   )  [virtual]
 

Positions the iterator at the next node in the Timer Queue.

Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >.

Definition at line 66 of file Timer_Heap_T.cpp.

References ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::timer_heap_.

00067 {
00068   if (this->position_ != this->timer_heap_.cur_size_)
00069     this->position_++;
00070 }


Member Data Documentation

template<class TYPE, class FUNCTOR, class ACE_LOCK>
size_t ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::position_ [protected]
 

Position in the array where the iterator is at.

Definition at line 68 of file Timer_Heap_T.h.

template<class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>& ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::timer_heap_ [protected]
 

Pointer to the ACE_Timer_Heap that we are iterating over.

Definition at line 65 of file Timer_Heap_T.h.

Referenced by ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::isdone(), ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::item(), and ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::next().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:31:16 2006 for ACE by doxygen 1.3.6