#include <Message_Queue_T.h>
Collaboration diagram for ACE_Message_Queue_Reverse_Iterator<>:
Public Member Functions | |
ACE_Message_Queue_Reverse_Iterator (ACE_Message_Queue< ACE_SYNCH_USE > &queue) | |
int | next (ACE_Message_Block *&entry) |
int | done (void) const |
Returns 1 when all items have been seen, else 0. | |
int | advance (void) |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Attributes | |
ACE_Message_Queue< ACE_SYNCH_USE > & | queue_ |
Message_Queue we are iterating over. | |
ACE_Message_Block * | curr_ |
Keeps track of how far we've advanced... |
Definition at line 667 of file Message_Queue_T.h.
ACE_Message_Queue_Reverse_Iterator<>::ACE_Message_Queue_Reverse_Iterator | ( | ACE_Message_Queue< ACE_SYNCH_USE > & | queue | ) |
int ACE_Message_Queue_Reverse_Iterator<>::advance | ( | void | ) |
Move forward by one element in the queue. Returns 0 when all the items in the set have been seen, else 1.
Definition at line 674 of file Message_Queue_T.cpp.
References ACE_READ_GUARD_RETURN, ACE_SYNCH_MUTEX_T, ACE_Message_Queue_Reverse_Iterator<>::curr_, and ACE_Message_Block::prev().
00675 { 00676 ACE_READ_GUARD_RETURN (ACE_SYNCH_MUTEX_T, m, this->queue_.lock_, -1) 00677 00678 if (this->curr_) 00679 this->curr_ = this->curr_->prev (); 00680 return this->curr_ != 0; 00681 }
int ACE_Message_Queue_Reverse_Iterator<>::done | ( | void | ) | const |
Returns 1 when all items have been seen, else 0.
Definition at line 666 of file Message_Queue_T.cpp.
References ACE_READ_GUARD_RETURN, ACE_SYNCH_MUTEX_T, and ACE_Message_Queue_Reverse_Iterator<>::curr_.
00667 { 00668 ACE_READ_GUARD_RETURN (ACE_SYNCH_MUTEX_T, m, this->queue_.lock_, -1) 00669 00670 return this->curr_ == 0; 00671 }
void ACE_Message_Queue_Reverse_Iterator<>::dump | ( | void | ) | const |
int ACE_Message_Queue_Reverse_Iterator<>::next | ( | ACE_Message_Block *& | entry | ) |
Pass back the entry that hasn't been seen in the queue. Returns 0 when all items have been seen, else 1.
Definition at line 652 of file Message_Queue_T.cpp.
References ACE_READ_GUARD_RETURN, ACE_SYNCH_MUTEX_T, and ACE_Message_Queue_Reverse_Iterator<>::curr_.
00653 { 00654 ACE_READ_GUARD_RETURN (ACE_SYNCH_MUTEX_T, m, this->queue_.lock_, -1) 00655 00656 if (this->curr_ != 0) 00657 { 00658 entry = this->curr_; 00659 return 1; 00660 } 00661 00662 return 0; 00663 }
ACE_Message_Queue_Reverse_Iterator<>::ACE_ALLOC_HOOK_DECLARE |
ACE_Message_Block* ACE_Message_Queue_Reverse_Iterator<>::curr_ [private] |
Keeps track of how far we've advanced...
Definition at line 696 of file Message_Queue_T.h.
Referenced by ACE_Message_Queue_Reverse_Iterator<>::advance(), ACE_Message_Queue_Reverse_Iterator<>::done(), and ACE_Message_Queue_Reverse_Iterator<>::next().
ACE_Message_Queue<ACE_SYNCH_USE>& ACE_Message_Queue_Reverse_Iterator<>::queue_ [private] |