#include <Vector_T.h>
Public Member Functions | |
ACE_Vector_Iterator (ACE_Vector< T, DEFAULT_SIZE > &) | |
int | next (T *&next_item) |
int | advance (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. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Attributes | |
size_t | current_ |
Pointer to the current item in the iteration. | |
ACE_Vector< T, DEFAULT_SIZE > & | vector_ |
Reference to the vector we're iterating over. |
This iterator is safe in the face of vector element deletions. But it is NOT safe if the vector is resized via the assignment operator during iteration. That would be very odd, and dangerous.
Definition at line 267 of file Vector_T.h.
ACE_INLINE ACE_Vector_Iterator< T, DEFAULT_SIZE >::ACE_Vector_Iterator | ( | ACE_Vector< T, DEFAULT_SIZE > & | ) |
Definition at line 76 of file Vector_T.inl.
00077 : current_ (0), 00078 vector_ (v) 00079 { 00080 // ACE_TRACE ("ACE_Vector_Iterator<T>::ACE_Vector_Iterator"); 00081 }
ACE_INLINE int ACE_Vector_Iterator< T, DEFAULT_SIZE >::advance | ( | void | ) |
Move forward by one element in the vector. Returns 0 when all the items in the vector have been seen, else 1.
Definition at line 84 of file Vector_T.inl.
References ACE_Vector_Iterator< T, DEFAULT_SIZE >::vector_.
00085 { 00086 // ACE_TRACE ("ACE_Vector_Iterator<T>::advance"); 00087 00088 if (this->current_ < vector_.size ()) 00089 { 00090 ++this->current_; 00091 return 1; 00092 } 00093 else 00094 // Already finished iterating. 00095 return 0; 00096 }
ACE_INLINE int ACE_Vector_Iterator< T, DEFAULT_SIZE >::done | ( | void | ) | const |
Returns 1 when all items have been seen, else 0.
Definition at line 99 of file Vector_T.inl.
References ACE_TRACE, ACE_Vector_Iterator< T, DEFAULT_SIZE >::current_, and ACE_Vector_Iterator< T, DEFAULT_SIZE >::vector_.
00100 { 00101 ACE_TRACE ("ACE_Vector_Iterator<T>::done"); 00102 00103 return this->current_ >= vector_.size (); 00104 }
ACE_INLINE void ACE_Vector_Iterator< T, DEFAULT_SIZE >::dump | ( | void | ) | const |
int ACE_Vector_Iterator< T, DEFAULT_SIZE >::next | ( | T *& | next_item | ) |
Pass back the <next_item> that hasn't been seen in the vector. Returns 0 when all items have been seen, else 1.
Definition at line 136 of file Vector_T.cpp.
References ACE_Vector_Iterator< T, DEFAULT_SIZE >::current_, and ACE_Vector_Iterator< T, DEFAULT_SIZE >::vector_.
00137 { 00138 // ACE_TRACE ("ACE_Vector_Iterator<T>::next"); 00139 00140 if (this->done ()) 00141 { 00142 item = 0; 00143 return 0; 00144 } 00145 else 00146 { 00147 item = &vector_[current_]; 00148 return 1; 00149 } 00150 }
ACE_Vector_Iterator< T, DEFAULT_SIZE >::ACE_ALLOC_HOOK_DECLARE |
size_t ACE_Vector_Iterator< T, DEFAULT_SIZE >::current_ [private] |
Pointer to the current item in the iteration.
Definition at line 294 of file Vector_T.h.
Referenced by ACE_Vector_Iterator< T, DEFAULT_SIZE >::done(), and ACE_Vector_Iterator< T, DEFAULT_SIZE >::next().
ACE_Vector<T, DEFAULT_SIZE>& ACE_Vector_Iterator< T, DEFAULT_SIZE >::vector_ [private] |
Reference to the vector we're iterating over.
Definition at line 297 of file Vector_T.h.
Referenced by ACE_Vector_Iterator< T, DEFAULT_SIZE >::advance(), ACE_Vector_Iterator< T, DEFAULT_SIZE >::done(), and ACE_Vector_Iterator< T, DEFAULT_SIZE >::next().