Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Timer_Heap_Iterator_T Class Template Reference

Iterates over an <ACE_Timer_Heap_T>. More...

#include <Timer_Heap_T.h>

Inheritance diagram for ACE_Timer_Heap_Iterator_T:

Inheritance graph
[legend]
Collaboration diagram for ACE_Timer_Heap_Iterator_T:

Collaboration graph
[legend]
List of all members.

Public Methods

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

 ~ACE_Timer_Heap_Iterator_T (void)
 Destructor. More...

virtual void first (void)
 Positions the iterator at the earliest node in the Timer Queue. More...

virtual void next (void)
 Positions the iterator at the next node in the Timer Queue. More...

virtual int isdone (void) const
 Returns true when there are no more nodes in the sequence. More...

virtual ACE_Timer_Node_T<
TYPE > * 
item (void)
 Returns the node at the current position in the sequence. More...


Protected Attributes

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

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


Detailed Description

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

Iterates over an <ACE_Timer_Heap_T>.

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 40 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 22 of file Timer_Heap_T.cpp.

References ACE_TRACE, and first.

00023   : timer_heap_ (heap)
00024 {
00025   ACE_TRACE ("ACE_Timer_Heap_Iterator_T::ACE_Timer_Heap_Iterator");
00026   this->first();
00027 }

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 30 of file Timer_Heap_T.cpp.

00031 {
00032 }


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.

Definition at line 37 of file Timer_Heap_T.cpp.

References position_.

Referenced by ACE_Timer_Heap_Iterator_T, and ACE_Timer_Heap_T::iter.

00038 {
00039   this->position_ = 0;
00040 }

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.

Definition at line 54 of file Timer_Heap_T.cpp.

References position_, and timer_heap_.

00055 {
00056   return this->position_ == this->timer_heap_.cur_size_;
00057 }

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.

Definition at line 62 of file Timer_Heap_T.cpp.

References position_, and timer_heap_.

00063 {
00064   if (this->position_ != this->timer_heap_.cur_size_)
00065     return this->timer_heap_.heap_[this->position_];
00066   return 0;
00067 }

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.

Definition at line 45 of file Timer_Heap_T.cpp.

References position_, and timer_heap_.

00046 {
00047   if (this->position_ != this->timer_heap_.cur_size_)
00048     this->position_++;
00049 }


Member Data Documentation

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

Position in the array where the iterator is at.

Definition at line 66 of file Timer_Heap_T.h.

Referenced by first, isdone, item, and next.

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

Pointer to the <ACE_Timer_Heap> that we are iterating over.

Definition at line 63 of file Timer_Heap_T.h.

Referenced by isdone, item, and next.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:57:58 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002