2 #include "ace/Guard_T.h"
3 #include "ace/Log_Category.h"
5 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
7 template <class EXT_ID, class INT_ID> ACE_INLINE ACE_UINT32
8 ACE_Map_Entry<EXT_ID, INT_ID>::next () const
13 template <class EXT_ID, class INT_ID> ACE_INLINE void
14 ACE_Map_Entry<EXT_ID, INT_ID>::next (ACE_UINT32 n)
19 template <class EXT_ID, class INT_ID> ACE_INLINE ACE_UINT32
20 ACE_Map_Entry<EXT_ID, INT_ID>::prev () const
25 template <class EXT_ID, class INT_ID> ACE_INLINE void
26 ACE_Map_Entry<EXT_ID, INT_ID>::prev (ACE_UINT32 p)
31 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
32 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Manager (size_t size,
35 search_structure_ (0),
39 if (this->open (size, alloc) == -1)
40 ACELIB_ERROR ((LM_ERROR, ACE_TEXT ("ACE_Map_Manager\n")));
43 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
44 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Manager (ACE_Allocator *alloc)
46 search_structure_ (0),
50 if (this->open (ACE_DEFAULT_MAP_SIZE, alloc) == -1)
51 ACELIB_ERROR ((LM_ERROR, ACE_TEXT ("ACE_Map_Manager\n")));
54 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
55 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::close ()
57 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
59 return this->close_i ();
62 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
63 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::~ACE_Map_Manager ()
68 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
69 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::bind (const EXT_ID &ext_id,
72 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
74 return this->bind_i (ext_id,
78 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
79 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id,
84 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
86 return this->rebind_i (ext_id,
92 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
93 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id,
97 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
99 return this->rebind_i (ext_id,
104 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
105 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id,
106 const INT_ID &int_id)
108 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
110 return this->rebind_i (ext_id,
114 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
115 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::trybind (const EXT_ID &ext_id,
118 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
120 return this->trybind_i (ext_id,
124 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
125 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::find (const EXT_ID &ext_id) const
127 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *nc_this =
128 (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *) this;
129 ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
132 return nc_this->find_and_return_index (ext_id, slot);
135 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
136 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::find (const EXT_ID &ext_id,
137 INT_ID &int_id) const
139 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *nc_this =
140 (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *) this;
141 ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
143 return nc_this->find_i (ext_id, int_id);
146 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
147 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind_i (const EXT_ID &ext_id)
151 return this->unbind_and_return_index (ext_id,
155 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
156 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind (const EXT_ID &ext_id,
159 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
161 return this->unbind_i (ext_id,
165 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
166 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind (const EXT_ID &ext_id)
168 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
169 return this->unbind_i (ext_id);
172 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE size_t
173 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::current_size () const
175 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, static_cast<size_t> (-1));
176 return this->cur_size_;
179 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE size_t
180 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::total_size () const
182 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, static_cast<size_t> (-1));
183 return this->total_size_;
186 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_LOCK &
187 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::mutex ()
192 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE void
193 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::move_from_free_list_to_occupied_list (ACE_UINT32 slot)
195 this->shared_move (slot,
197 this->free_list_id (),
198 this->occupied_list_,
199 this->occupied_list_id ());
202 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE void
203 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::move_from_occupied_list_to_free_list (ACE_UINT32 slot)
205 this->shared_move (slot,
206 this->occupied_list_,
207 this->occupied_list_id (),
209 this->free_list_id ());
212 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
213 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::equal (const EXT_ID &id1,
219 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_UINT32
220 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::free_list_id () const
222 // If you change ~0, please change
223 // ACE_Active_Map_Manager_Key::ACE_Active_Map_Manager_Key()
225 return (ACE_UINT32) ~0;
228 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_UINT32
229 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::occupied_list_id () const
231 return (ACE_UINT32) ~1;
234 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
235 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
236 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::begin ()
238 return ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this);
241 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
242 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
243 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::end ()
245 return ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this, 1);
248 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
249 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
250 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rbegin ()
252 return ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this);
255 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
256 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
257 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rend ()
259 return ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this, 1);
262 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
263 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Iterator_Base (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm)
265 next_ (map_man_->occupied_list_id ())
269 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
270 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::next (ACE_Map_Entry<EXT_ID, INT_ID> *&mm) const
272 if (this->next_ != this->map_man_->occupied_list_id ())
274 mm = &this->map_man_->search_structure_[this->next_];
281 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
282 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::done () const
284 return this->next_ == this->map_man_->occupied_list_id ();
287 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
288 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::forward_i ()
291 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
295 // Go to the next item in the list.
296 this->next_ = this->map_man_->search_structure_[this->next_].next ();
298 // Stop if we reach the end.
302 // Break if we find a non-free slot.
303 if (!this->map_man_->search_structure_[this->next_].free_)
311 this->next_ = this->map_man_->search_structure_[this->next_].next ();
313 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
315 return this->next_ != this->map_man_->occupied_list_id ();
318 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
319 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::reverse_i ()
322 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
326 // Go to the prev item in the list.
327 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
329 // Stop if we reach the end.
333 // Break if we find a non-free slot.
334 if (!this->map_man_->search_structure_[this->next_].free_)
342 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
344 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
346 return this->next_ != this->map_man_->occupied_list_id ();
349 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
350 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &
351 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::map ()
353 return *this->map_man_;
356 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
357 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator== (const ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const
359 return (this->map_man_ == rhs.map_man_ &&
360 this->next_ == rhs.next_);
363 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
364 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator!= (const ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const
366 return !this->operator== (rhs);
369 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
370 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Const_Iterator_Base (const ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm)
372 next_ (this->map_man_->occupied_list_id ())
376 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
377 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::next (ACE_Map_Entry<EXT_ID, INT_ID> *&mm) const
379 if (this->next_ != this->map_man_->occupied_list_id ())
381 mm = &this->map_man_->search_structure_[this->next_];
388 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
389 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::done () const
391 return this->next_ == this->map_man_->occupied_list_id ();
394 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
395 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::forward_i ()
398 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
402 // Go to the next item in the list.
403 this->next_ = this->map_man_->search_structure_[this->next_].next ();
405 // Stop if we reach the end.
409 // Break if we find a non-free slot.
410 if (!this->map_man_->search_structure_[this->next_].free_)
418 this->next_ = this->map_man_->search_structure_[this->next_].next ();
420 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
422 return this->next_ != this->map_man_->occupied_list_id ();
425 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
426 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::reverse_i ()
429 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
433 // Go to the prev item in the list.
434 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
436 // Stop if we reach the end.
440 // Break if we find a non-free slot.
441 if (!this->map_man_->search_structure_[this->next_].free_)
449 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
451 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
453 return this->next_ != this->map_man_->occupied_list_id ();
456 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
457 const ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &
458 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::map () const
460 return *this->map_man_;
463 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
464 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator== (const ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const
466 return (this->map_man_ == rhs.map_man_ &&
467 this->next_ == rhs.next_);
470 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
471 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator!= (const ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const
473 return !this->operator== (rhs);
476 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
477 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Iterator (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
479 : ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm)
484 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
487 this->next_ = this->map_man_->occupied_list_.next ();
491 // Stop if we reach the end.
495 // Break if we find a non-free slot.
496 if (!this->map_man_->search_structure_[this->next_].free_)
501 // Go to the next item in the list.
502 this->next_ = this->map_man_->search_structure_[this->next_].next ();
507 this->next_ = this->map_man_->occupied_list_.next ();
509 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
514 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
515 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance ()
517 return this->forward_i ();
520 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
521 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
522 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ ()
528 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
529 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
530 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int)
532 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
537 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
538 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
539 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- ()
545 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
546 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
547 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int)
549 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
554 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
555 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Const_Iterator (const ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
557 : ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm)
562 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
565 this->next_ = this->map_man_->occupied_list_.next ();
569 // Stop if we reach the end.
573 // Break if we find a non-free slot.
574 if (!this->map_man_->search_structure_[this->next_].free_)
579 // Go to the next item in the list.
580 this->next_ = this->map_man_->search_structure_[this->next_].next ();
585 this->next_ = this->map_man_->occupied_list_.next ();
587 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
592 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
593 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance ()
595 return this->forward_i ();
598 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
599 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
600 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ ()
606 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
607 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>
608 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int)
610 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
615 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
616 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
617 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- ()
623 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
624 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>
625 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int)
627 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
632 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
633 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Reverse_Iterator (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
635 : ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm)
640 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
643 this->next_ = this->map_man_->occupied_list_.prev ();
647 // Stop if we reach the end.
651 // Break if we find a non-free slot.
652 if (!this->map_man_->search_structure_[this->next_].free_)
657 // Go to the prev item in the list.
658 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
663 this->next_ = this->map_man_->occupied_list_.prev ();
665 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
670 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
671 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance ()
673 return this->reverse_i ();
676 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
677 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
678 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ ()
684 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
685 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
686 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int)
688 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
693 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
694 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
695 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- ()
701 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
702 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
703 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int)
705 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
710 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
711 ACE_Map_Entry<EXT_ID, INT_ID>&
712 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator* () const
714 ACE_Map_Entry<EXT_ID, INT_ID> *retv = 0;
716 int const result = this->next (retv);
717 ACE_ASSERT (result != 0);
718 ACE_UNUSED_ARG (result);
723 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
724 ACE_Map_Entry<EXT_ID, INT_ID>&
725 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator* () const
727 ACE_Map_Entry<EXT_ID, INT_ID> *retv = 0;
729 int const result = this->next (retv);
730 ACE_ASSERT (result != 0);
731 ACE_UNUSED_ARG (result);
737 ACE_END_VERSIONED_NAMESPACE_DECL