Iterates over an ACE_Timer_Hash_T. More...
#include <Timer_Hash_T.h>


Public Member Functions | |
| 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 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_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. | |
Iterates over an ACE_Timer_Hash_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 122 of file Timer_Hash_T.h.
| ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::ACE_Timer_Hash_Iterator_T | ( | ACE_Timer_Hash_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET > & | hash | ) |
Constructor.
Definition at line 179 of file Timer_Hash_T.cpp.
: timer_hash_ (hash) { this->first (); // Nothing }
| void ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::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 189 of file Timer_Hash_T.cpp.
{
for (this->position_ = 0;
this->position_ < this->timer_hash_.table_size_;
++this->position_)
{
// Check for an empty entry
if (!this->timer_hash_.table_[this->position_]->is_empty ())
{
this->iter_ = &this->timer_hash_.table_[this->position_]->iter ();
this->iter_->first ();
return;
}
}
// Didn't find any
this->iter_ = 0;
}
| bool ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::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 243 of file Timer_Hash_T.cpp.
{
return this->iter_ == 0;
}
| ACE_Timer_Node_T< TYPE > * ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::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 252 of file Timer_Hash_T.cpp.
| void ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::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 212 of file Timer_Hash_T.cpp.
{
if (this->isdone ())
return;
// If there is no more in the current bucket, go to the next
if (this->iter_->isdone ())
{
for (++this->position_;
this->position_ < this->timer_hash_.table_size_;
++this->position_)
{
// Check for an empty entry
if (!this->timer_hash_.table_[this->position_]->is_empty ())
{
this->iter_ = &this->timer_hash_.table_[this->position_]->iter ();
this->iter_->first ();
return;
}
}
// Didn't find any.
this->iter_ = 0;
}
else
this->iter_->next ();
}
ACE_Timer_Queue_Iterator_T<TYPE, ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>, ACE_Null_Mutex>* ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::iter_ [protected] |
Current iterator used on <position>'s bucket.
Definition at line 148 of file Timer_Hash_T.h.
size_t ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::position_ [protected] |
Current position in <timer_hash_>'s table.
Definition at line 145 of file Timer_Hash_T.h.
ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>& ACE_Timer_Hash_Iterator_T< TYPE, FUNCTOR, ACE_LOCK, BUCKET >::timer_hash_ [protected] |
Pointer to the ACE_Timer_Hash that we are iterating over.
Definition at line 142 of file Timer_Hash_T.h.
1.7.0