#include <Timer_Heap_T.h>
Inheritance diagram for ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >:
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 bool | 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. |
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.
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 > & | ) | [inline] |
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().
00045 : timer_heap_ (heap) 00046 { 00047 ACE_TRACE ("ACE_Timer_Heap_Iterator_T::ACE_Timer_Heap_Iterator"); 00048 this->first (); 00049 }
ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::~ACE_Timer_Heap_Iterator_T | ( | void | ) |
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 60 of file Timer_Heap_T.cpp.
References ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::position_.
Referenced by ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_Heap_Iterator_T(), ACE_Timer_List_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_List_Iterator_T(), ACE_Timer_List_T< TYPE, FUNCTOR, ACE_LOCK >::earliest_time(), ACE_Timer_List_T< TYPE, FUNCTOR, ACE_LOCK >::get_first_i(), ACE_Timer_Heap_T< TYPE, FUNCTOR, ACE_LOCK >::iter(), and ACE_Timer_List_T< TYPE, FUNCTOR, ACE_LOCK >::remove_first().
00061 { 00062 this->position_ = 0; 00063 }
bool 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 78 of file Timer_Heap_T.cpp.
References ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::position_, and ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::timer_heap_.
00079 { 00080 return this->position_ == this->timer_heap_.cur_size_; 00081 }
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 86 of file Timer_Heap_T.cpp.
References ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::position_, and ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::timer_heap_.
00087 { 00088 if (this->position_ != this->timer_heap_.cur_size_) 00089 return this->timer_heap_.heap_[this->position_]; 00090 return 0; 00091 }
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 69 of file Timer_Heap_T.cpp.
References ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::position_.
Referenced by ACE_Timer_List_T< TYPE, FUNCTOR, ACE_LOCK >::~ACE_Timer_List_T().
00070 { 00071 if (this->position_ != this->timer_heap_.cur_size_) 00072 ++this->position_; 00073 }
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.
Referenced by ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::first(), 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().
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(), and ACE_Timer_Heap_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::item().