#include <Containers_T.h>
Public Member Functions | |
ACE_Ordered_MultiSet_Iterator (ACE_Ordered_MultiSet< T > &s) | |
int | next (T *&next_item) const |
int | first (void) |
int | last (void) |
int | advance (void) |
int | retreat (void) |
int | done (void) const |
Returns 1 when all items have been seen, else 0. | |
void | dump (void) const |
Dump the state of an object. | |
T & | operator * (void) |
Returns a reference to the internal element {this} is pointing to. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Attributes | |
ACE_DNode< T > * | current_ |
Pointer to the current node in the iteration. | |
ACE_Ordered_MultiSet< T > & | set_ |
Pointer to the set we're iterating over. | |
Friends | |
class | ACE_Ordered_MultiSet< T > |
Definition at line 1679 of file Containers_T.h.
ACE_Ordered_MultiSet_Iterator< T >::ACE_Ordered_MultiSet_Iterator | ( | ACE_Ordered_MultiSet< T > & | s | ) |
Definition at line 1825 of file Containers_T.cpp.
01826 : current_ (s.head_), 01827 set_ (s) 01828 { 01829 // ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::ACE_Ordered_MultiSet_Iterator"); 01830 }
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::advance | ( | void | ) |
Move forward by one element in the set. Returns 0 when all the items in the set have been seen, else 1.
Definition at line 216 of file Containers_T.inl.
References ACE_TRACE, and ACE_Ordered_MultiSet_Iterator< T >::current_.
00217 { 00218 ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::advance"); 00219 00220 current_ = current_ ? current_->next_ : 0; 00221 00222 return (current_ ? 1 : 0); 00223 }
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::done | ( | void | ) | const |
Returns 1 when all items have been seen, else 0.
Definition at line 236 of file Containers_T.inl.
References ACE_TRACE, and ACE_Ordered_MultiSet_Iterator< T >::current_.
00237 { 00238 ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::done"); 00239 00240 return (current_ ? 0 : 1); 00241 }
ACE_INLINE void ACE_Ordered_MultiSet_Iterator< T >::dump | ( | void | ) | const |
Dump the state of an object.
Definition at line 244 of file Containers_T.inl.
00245 { 00246 #if defined (ACE_HAS_DUMP) 00247 // ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::dump"); 00248 #endif /* ACE_HAS_DUMP */ 00249 }
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::first | ( | void | ) |
Repositions the iterator at the first item in the ordered multiset Returns 0 if the list is empty else 1.
Definition at line 198 of file Containers_T.inl.
References ACE_TRACE, ACE_Ordered_MultiSet_Iterator< T >::current_, and ACE_Ordered_MultiSet_Iterator< T >::set_.
00199 { 00200 ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::first"); 00201 current_ = set_.head_; 00202 00203 return (current_ ? 1 : 0); 00204 }
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::last | ( | void | ) |
Repositions the iterator at the last item in the ordered multiset Returns 0 if the list is empty else 1.
Definition at line 207 of file Containers_T.inl.
References ACE_TRACE, ACE_Ordered_MultiSet_Iterator< T >::current_, and ACE_Ordered_MultiSet_Iterator< T >::set_.
00208 { 00209 ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::last"); 00210 current_ = set_.tail_; 00211 00212 return (current_ ? 1 : 0); 00213 }
int ACE_Ordered_MultiSet_Iterator< T >::next | ( | T *& | next_item | ) | const |
Pass back the {next_item} that hasn't been seen in the ordered multiset. Returns 0 when all items have been seen, else 1.
Definition at line 1833 of file Containers_T.cpp.
References ACE_Ordered_MultiSet_Iterator< T >::current_.
Referenced by ACE_Ordered_MultiSet_Iterator< T >::operator *().
01834 { 01835 // ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::next"); 01836 if (this->current_) 01837 { 01838 item = &this->current_->item_; 01839 return 1; 01840 } 01841 01842 return 0; 01843 }
T & ACE_Ordered_MultiSet_Iterator< T >::operator * | ( | void | ) |
Returns a reference to the internal element {this} is pointing to.
Definition at line 1846 of file Containers_T.cpp.
References ACE_ASSERT, and ACE_Ordered_MultiSet_Iterator< T >::next().
01847 { 01848 //ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::operator*"); 01849 T *retv = 0; 01850 01851 int const result = this->next (retv); 01852 ACE_ASSERT (result != 0); 01853 ACE_UNUSED_ARG (result); 01854 01855 return *retv; 01856 }
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::retreat | ( | void | ) |
Move backward by one element in the set. Returns 0 when all the items in the set have been seen, else 1.
Definition at line 226 of file Containers_T.inl.
References ACE_TRACE, and ACE_Ordered_MultiSet_Iterator< T >::current_.
00227 { 00228 ACE_TRACE ("ACE_Ordered_MultiSet_Iterator<T>::retreat"); 00229 00230 current_ = current_ ? current_->prev_ : 0; 00231 00232 return (current_ ? 1 : 0); 00233 }
friend class ACE_Ordered_MultiSet< T > [friend] |
Definition at line 1682 of file Containers_T.h.
ACE_Ordered_MultiSet_Iterator< T >::ACE_ALLOC_HOOK_DECLARE |
ACE_DNode<T>* ACE_Ordered_MultiSet_Iterator< T >::current_ [private] |
Pointer to the current node in the iteration.
Definition at line 1724 of file Containers_T.h.
Referenced by ACE_Ordered_MultiSet_Iterator< T >::advance(), ACE_Ordered_MultiSet_Iterator< T >::done(), ACE_Ordered_MultiSet< T >::find(), ACE_Ordered_MultiSet_Iterator< T >::first(), ACE_Ordered_MultiSet< T >::insert(), ACE_Ordered_MultiSet_Iterator< T >::last(), ACE_Ordered_MultiSet_Iterator< T >::next(), and ACE_Ordered_MultiSet_Iterator< T >::retreat().
ACE_Ordered_MultiSet<T>& ACE_Ordered_MultiSet_Iterator< T >::set_ [private] |
Pointer to the set we're iterating over.
Definition at line 1727 of file Containers_T.h.
Referenced by ACE_Ordered_MultiSet_Iterator< T >::first(), and ACE_Ordered_MultiSet_Iterator< T >::last().