#include <Map_Manager.h>
Inheritance diagram for ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >:
Public Member Functions | |
ACE_Map_Const_Iterator_Base (const ACE_Map_Manager< EXT_ID, INT_ID, ACE_LOCK > &mm) | |
int | next (ACE_Map_Entry< EXT_ID, INT_ID > *&next_entry) const |
int | done (void) const |
Returns 1 when all items have been seen, else 0. | |
ACE_Map_Entry< EXT_ID, INT_ID > & | operator * (void) const |
Returns a reference to the interal element this is pointing to. | |
const ACE_Map_Manager< EXT_ID, INT_ID, ACE_LOCK > & | map (void) const |
bool | operator== (const ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK > &) const |
Check if two iterators point to the same position. | |
bool | operator!= (const ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK > &) const |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Protected Member Functions | |
int | forward_i (void) |
int | reverse_i (void) |
void | dump_i (void) const |
Dump the state of an object. | |
Protected Attributes | |
const ACE_Map_Manager< EXT_ID, INT_ID, ACE_LOCK > * | map_man_ |
Map we are iterating over. | |
ACE_UINT32 | next_ |
Keeps track of how far we've advanced... |
This class factors out common code from its templatized subclasses.
Definition at line 512 of file Map_Manager.h.
|
Contructor. If head != 0, the iterator constructed is positioned at the head of the map, it is positioned at the end otherwise. Definition at line 389 of file Map_Manager.inl.
|
|
Returns 1 when all items have been seen, else 0.
Definition at line 408 of file Map_Manager.inl. Referenced by ACE_Map_Const_Iterator< EXT_ID, INT_ID, ACE_LOCK >::ACE_Map_Const_Iterator(), ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::forward_i(), and ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::reverse_i().
|
|
Dump the state of an object.
Definition at line 634 of file Map_Manager.cpp. References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_TEXT, and LM_DEBUG. Referenced by ACE_Map_Const_Iterator< EXT_ID, INT_ID, ACE_LOCK >::dump().
|
|
Move forward by one element in the set. Returns 0 when there's no more item in the set after the current items, else 1. Definition at line 414 of file Map_Manager.inl. References ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::done(). Referenced by ACE_Map_Const_Iterator< EXT_ID, INT_ID, ACE_LOCK >::advance(), and ACE_Map_Const_Iterator< EXT_ID, INT_ID, ACE_LOCK >::operator++().
00415 { 00416 00417 #if defined (ACE_HAS_LAZY_MAP_MANAGER) 00418 00419 while (1) 00420 { 00421 // Go to the next item in the list. 00422 this->next_ = this->map_man_->search_structure_[this->next_].next (); 00423 00424 // Stop if we reach the end. 00425 if (this->done ()) 00426 break; 00427 00428 // Break if we find a non-free slot. 00429 if (!this->map_man_->search_structure_[this->next_].free_) 00430 { 00431 break; 00432 } 00433 } 00434 00435 #else 00436 00437 this->next_ = this->map_man_->search_structure_[this->next_].next (); 00438 00439 #endif /* ACE_HAS_LAZY_MAP_MANAGER */ 00440 00441 return this->next_ != this->map_man_->occupied_list_id (); 00442 } |
|
Returns reference the Map_Manager that is being iterated over. Definition at line 477 of file Map_Manager.inl.
00478 { 00479 return *this->map_man_; 00480 } |
|
Pass back the next that hasn't been seen in the Set. Returns 0 when all items have been seen, else 1. Definition at line 396 of file Map_Manager.inl. Referenced by ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::operator *().
|
|
Returns a reference to the interal element
Definition at line 661 of file Map_Manager.cpp. References ACE_ASSERT, and ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::next().
00662 { 00663 // @@ This function should be inlined. We moved it here to avoid a 00664 // compiler bug in SunCC 4.2. Once we know the correct patch to fix 00665 // the compiler problem, it should be moved back to .i file again. 00666 ACE_Map_Entry<EXT_ID, INT_ID> *retv = 0; 00667 00668 int result = this->next (retv); 00669 ACE_ASSERT (result != 0); 00670 ACE_UNUSED_ARG (result); 00671 00672 return *retv; 00673 } |
|
Definition at line 490 of file Map_Manager.inl. References ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::operator==().
00491 { 00492 return !this->operator== (rhs); 00493 } |
|
Check if two iterators point to the same position.
Definition at line 483 of file Map_Manager.inl. References ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::map_man_, and ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::next_. Referenced by ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::operator!=().
|
|
Move backware by one element in the set. Returns 0 when there's no more item in the set before the current item, else 1. Definition at line 445 of file Map_Manager.inl. References ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::done(). Referenced by ACE_Map_Const_Iterator< EXT_ID, INT_ID, ACE_LOCK >::operator--().
00446 { 00447 00448 #if defined (ACE_HAS_LAZY_MAP_MANAGER) 00449 00450 while (1) 00451 { 00452 // Go to the prev item in the list. 00453 this->next_ = this->map_man_->search_structure_[this->next_].prev (); 00454 00455 // Stop if we reach the end. 00456 if (this->done ()) 00457 break; 00458 00459 // Break if we find a non-free slot. 00460 if (!this->map_man_->search_structure_[this->next_].free_) 00461 { 00462 break; 00463 } 00464 } 00465 00466 #else 00467 00468 this->next_ = this->map_man_->search_structure_[this->next_].prev (); 00469 00470 #endif /* ACE_HAS_LAZY_MAP_MANAGER */ 00471 00472 return this->next_ != this->map_man_->occupied_list_id (); 00473 } |
|
Declare the dynamic allocation hooks.
Reimplemented in ACE_Map_Const_Iterator< EXT_ID, INT_ID, ACE_LOCK >. Definition at line 541 of file Map_Manager.h. |
|
Map we are iterating over.
Definition at line 556 of file Map_Manager.h. Referenced by ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::operator==(). |
|
Keeps track of how far we've advanced...
Definition at line 559 of file Map_Manager.h. Referenced by ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK >::operator==(). |