#include <Timer_Hash_T.h>
Inheritance diagram for ACE_Timer_Hash_Iterator_T:


Public Methods | |
| ACE_Timer_Hash_Iterator_T (ACE_Timer_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET > &) | |
| Constructor. 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_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET > & | timer_hash_ |
| Pointer to the <ACE_Timer_Hash> that we are iterating over. More... | |
| size_t | position_ |
| Current position in <timer_hash_>'s table. More... | |
| 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. More... | |
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 88 of file Timer_Hash_T.h.
|
||||||||||
|
Constructor.
Definition at line 110 of file Timer_Hash_T.cpp. References first.
00111 : timer_hash_ (hash) 00112 { 00113 this->first (); 00114 // Nothing 00115 } |
|
||||||||||
|
Positions the iterator at the earliest node in the Timer Queue.
Implements ACE_Timer_Queue_Iterator_T. Definition at line 120 of file Timer_Hash_T.cpp. References ACE_Timer_Queue_Iterator_T< TYPE, ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >, ACE_Null_Mutex >::first, iter_, position_, and timer_hash_. Referenced by ACE_Timer_Hash_Iterator_T, and ACE_Timer_Hash_T::iter.
00121 {
00122 for (this->position_ = 0;
00123 this->position_ < this->timer_hash_.table_size_;
00124 this->position_++)
00125 {
00126 // Check for an empty entry
00127 if (!this->timer_hash_.table_[this->position_]->is_empty ())
00128 {
00129 this->iter_ = &this->timer_hash_.table_[this->position_]->iter ();
00130 this->iter_->first ();
00131 return;
00132 }
00133 }
00134
00135 // Didn't find any
00136 this->iter_ = 0;
00137 }
|
|
||||||||||
|
Returns true when there are no more nodes in the sequence.
Implements ACE_Timer_Queue_Iterator_T. Definition at line 174 of file Timer_Hash_T.cpp. References iter_.
00175 {
00176 return this->iter_ == 0;
00177 }
|
|
||||||||||
|
Returns the node at the current position in the sequence.
Implements ACE_Timer_Queue_Iterator_T. Definition at line 182 of file Timer_Hash_T.cpp. References isdone, ACE_Timer_Queue_Iterator_T< TYPE, ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >, ACE_Null_Mutex >::item, and iter_.
|
|
||||||||||
|
Positions the iterator at the next node in the Timer Queue.
Implements ACE_Timer_Queue_Iterator_T. Definition at line 143 of file Timer_Hash_T.cpp. References ACE_Timer_Queue_Iterator_T< TYPE, ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >, ACE_Null_Mutex >::first, ACE_Timer_Queue_Iterator_T< TYPE, ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >, ACE_Null_Mutex >::isdone, isdone, iter_, ACE_Timer_Queue_Iterator_T< TYPE, ACE_Timer_Hash_Upcall< TYPE, FUNCTOR, ACE_LOCK >, ACE_Null_Mutex >::next, position_, and timer_hash_.
00144 {
00145 if (this->isdone ())
00146 return;
00147
00148 // If there is no more in the current bucket, go to the next
00149 if (this->iter_->isdone ())
00150 {
00151 for (this->position_++;
00152 this->position_ < this->timer_hash_.table_size_;
00153 this->position_++)
00154 {
00155 // Check for an empty entry
00156 if (!this->timer_hash_.table_[this->position_]->is_empty ())
00157 {
00158 this->iter_ = &this->timer_hash_.table_[this->position_]->iter ();
00159 this->iter_->first ();
00160 return;
00161 }
00162 }
00163
00164 // Didn't find any.
00165 this->iter_ = 0;
00166 }
00167 else
00168 this->iter_->next ();
00169 }
|
|
|||||
|
Current iterator used on <position>'s bucket.
Definition at line 114 of file Timer_Hash_T.h. |
|
|||||
|
Current position in <timer_hash_>'s table.
Definition at line 111 of file Timer_Hash_T.h. |
|
|||||
|
Pointer to the <ACE_Timer_Hash> that we are iterating over.
Definition at line 108 of file Timer_Hash_T.h. |
1.2.14 written by Dimitri van Heesch,
© 1997-2002