#include <Map_Manager.h>
Inheritance diagram for ACE_Map_Const_Iterator_Base:


Public Methods | |
| ACE_Map_Const_Iterator_Base (const ACE_Map_Manager< EXT_ID, INT_ID, ACE_LOCK > &mm) | |
| Contructor. If head != 0, the iterator constructed is positioned at the head of the map, it is positioned at the end otherwise. More... | |
| int | next (ACE_Map_Entry< EXT_ID, INT_ID > *&next_entry) const |
| Pass back the next <entry> that hasn't been seen in the Set. Returns 0 when all items have been seen, else 1. More... | |
| int | done (void) const |
| Returns 1 when all items have been seen, else 0. More... | |
| ACE_Map_Entry< EXT_ID, INT_ID > & | operator * (void) const |
| Returns a reference to the interal element <this> is pointing to. More... | |
| const ACE_Map_Manager< EXT_ID, INT_ID, ACE_LOCK > & | map (void) const |
| Returns reference the Map_Manager that is being iterated over. More... | |
| int | operator== (const ACE_Map_Const_Iterator_Base< EXT_ID, INT_ID, ACE_LOCK > &) const |
| Check if two iterators point to the same position. More... | |
| int | 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. More... | |
Protected Methods | |
| int | forward_i (void) |
| 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. More... | |
| int | reverse_i (void) |
| 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. More... | |
| void | dump_i (void) const |
| Dump the state of an object. More... | |
Protected Attributes | |
| const ACE_Map_Manager< EXT_ID, INT_ID, ACE_LOCK > * | map_man_ |
| Map we are iterating over. More... | |
| ACE_UINT32 | next_ |
| Keeps track of how far we've advanced... More... | |
This class factors out common code from its templatized subclasses.
Definition at line 507 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 375 of file Map_Manager.i.
|
|
||||||||||
|
Returns 1 when all items have been seen, else 0.
Definition at line 394 of file Map_Manager.i. References map_man_, and next_. Referenced by ACE_Map_Const_Iterator::ACE_Map_Const_Iterator, forward_i, and reverse_i.
|
|
||||||||||
|
Dump the state of an object.
Definition at line 635 of file Map_Manager.cpp. References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_LIB_TEXT, and LM_DEBUG. Referenced by ACE_Map_Const_Iterator::dump.
00636 {
00637 ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
00638 ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("next_ = %d"), this->next_));
00639 ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
00640 }
|
|
||||||||||
|
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 400 of file Map_Manager.i. References done, map_man_, and next_. Referenced by ACE_Map_Const_Iterator::advance, and ACE_Map_Const_Iterator::operator++.
00401 {
00402
00403 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
00404
00405 while (1)
00406 {
00407 // Go to the next item in the list.
00408 this->next_ = this->map_man_->search_structure_[this->next_].next ();
00409
00410 // Stop if we reach the end.
00411 if (this->done ())
00412 break;
00413
00414 // Break if we find a non-free slot.
00415 if (!this->map_man_->search_structure_[this->next_].free_)
00416 {
00417 break;
00418 }
00419 }
00420
00421 #else
00422
00423 this->next_ = this->map_man_->search_structure_[this->next_].next ();
00424
00425 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
00426
00427 return this->next_ != this->map_man_->occupied_list_id ();
00428 }
|
|
||||||||||
|
Returns reference the Map_Manager that is being iterated over.
Definition at line 463 of file Map_Manager.i. References map_man_.
00464 {
00465 return *this->map_man_;
00466 }
|
|
||||||||||
|
Pass back the next <entry> that hasn't been seen in the Set. Returns 0 when all items have been seen, else 1.
Definition at line 382 of file Map_Manager.i. References map_man_, and next_. Referenced by operator *.
|
|
||||||||||
|
Returns a reference to the interal element <this> is pointing to.
Definition at line 660 of file Map_Manager.cpp. References ACE_ASSERT, and next.
00661 {
00662 // @@ This function should be inlined. We moved it here to avoid a
00663 // compiler bug in SunCC 4.2. Once we know the correct patch to fix
00664 // the compiler problem, it should be moved back to .i file again.
00665 ACE_Map_Entry<EXT_ID, INT_ID> *retv = 0;
00666
00667 int result = this->next (retv);
00668 ACE_ASSERT (result != 0);
00669 ACE_UNUSED_ARG (result);
00670
00671 return *retv;
00672 }
|
|
||||||||||
|
Definition at line 476 of file Map_Manager.i. References operator==.
00477 {
00478 return !this->operator== (rhs);
00479 }
|
|
||||||||||
|
Check if two iterators point to the same position.
Definition at line 469 of file Map_Manager.i. References map_man_, and next_. Referenced by 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 431 of file Map_Manager.i. References done, map_man_, and next_. Referenced by ACE_Map_Const_Iterator::operator--.
00432 {
00433
00434 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
00435
00436 while (1)
00437 {
00438 // Go to the prev item in the list.
00439 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
00440
00441 // Stop if we reach the end.
00442 if (this->done ())
00443 break;
00444
00445 // Break if we find a non-free slot.
00446 if (!this->map_man_->search_structure_[this->next_].free_)
00447 {
00448 break;
00449 }
00450 }
00451
00452 #else
00453
00454 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
00455
00456 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
00457
00458 return this->next_ != this->map_man_->occupied_list_id ();
00459 }
|
|
|||||
|
Declare the dynamic allocation hooks.
Reimplemented in ACE_Map_Const_Iterator. Definition at line 536 of file Map_Manager.h. |
|
|||||
|
Map we are iterating over.
Definition at line 551 of file Map_Manager.h. Referenced by ACE_Map_Const_Iterator::ACE_Map_Const_Iterator, done, forward_i, map, next, operator==, and reverse_i. |
|
|||||
|
Keeps track of how far we've advanced...
Definition at line 554 of file Map_Manager.h. Referenced by ACE_Map_Const_Iterator::ACE_Map_Const_Iterator, done, forward_i, next, operator==, and reverse_i. |
1.2.14 written by Dimitri van Heesch,
© 1997-2002