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
8 ACE_Map_Entry<EXT_ID, INT_ID>::ACE_Map_Entry (void)
11 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
13 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
17 template <class EXT_ID, class INT_ID> ACE_INLINE
18 ACE_Map_Entry<EXT_ID, INT_ID>::~ACE_Map_Entry (void)
20 // No-op just to keep some compilers happy...
23 template <class EXT_ID, class INT_ID> ACE_INLINE ACE_UINT32
24 ACE_Map_Entry<EXT_ID, INT_ID>::next (void) const
29 template <class EXT_ID, class INT_ID> ACE_INLINE void
30 ACE_Map_Entry<EXT_ID, INT_ID>::next (ACE_UINT32 n)
35 template <class EXT_ID, class INT_ID> ACE_INLINE ACE_UINT32
36 ACE_Map_Entry<EXT_ID, INT_ID>::prev (void) const
41 template <class EXT_ID, class INT_ID> ACE_INLINE void
42 ACE_Map_Entry<EXT_ID, INT_ID>::prev (ACE_UINT32 p)
47 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
48 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Manager (size_t size,
51 search_structure_ (0),
55 if (this->open (size, alloc) == -1)
56 ACELIB_ERROR ((LM_ERROR, ACE_TEXT ("ACE_Map_Manager\n")));
59 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
60 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Manager (ACE_Allocator *alloc)
62 search_structure_ (0),
66 if (this->open (ACE_DEFAULT_MAP_SIZE, alloc) == -1)
67 ACELIB_ERROR ((LM_ERROR, ACE_TEXT ("ACE_Map_Manager\n")));
70 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
71 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::close (void)
73 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
75 return this->close_i ();
78 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
79 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::~ACE_Map_Manager (void)
84 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
85 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::bind (const EXT_ID &ext_id,
88 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
90 return this->bind_i (ext_id,
94 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
95 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id,
100 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
102 return this->rebind_i (ext_id,
108 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
109 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id,
110 const INT_ID &int_id,
113 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
115 return this->rebind_i (ext_id,
120 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
121 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id,
122 const INT_ID &int_id)
124 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
126 return this->rebind_i (ext_id,
130 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
131 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::trybind (const EXT_ID &ext_id,
134 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
136 return this->trybind_i (ext_id,
140 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
141 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::find (const EXT_ID &ext_id) const
143 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *nc_this =
144 (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *) this;
145 ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
148 return nc_this->find_and_return_index (ext_id, slot);
151 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
152 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::find (const EXT_ID &ext_id,
153 INT_ID &int_id) const
155 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *nc_this =
156 (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *) this;
157 ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1);
159 return nc_this->find_i (ext_id, int_id);
162 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
163 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind_i (const EXT_ID &ext_id)
167 return this->unbind_and_return_index (ext_id,
171 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
172 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind (const EXT_ID &ext_id,
175 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
177 return this->unbind_i (ext_id,
181 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
182 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind (const EXT_ID &ext_id)
184 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1);
185 return this->unbind_i (ext_id);
188 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE size_t
189 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::current_size (void) const
191 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, static_cast<size_t> (-1));
192 return this->cur_size_;
195 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE size_t
196 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::total_size (void) const
198 ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, static_cast<size_t> (-1));
199 return this->total_size_;
202 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_LOCK &
203 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::mutex (void)
208 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE void
209 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::move_from_free_list_to_occupied_list (ACE_UINT32 slot)
211 this->shared_move (slot,
213 this->free_list_id (),
214 this->occupied_list_,
215 this->occupied_list_id ());
218 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE void
219 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::move_from_occupied_list_to_free_list (ACE_UINT32 slot)
221 this->shared_move (slot,
222 this->occupied_list_,
223 this->occupied_list_id (),
225 this->free_list_id ());
228 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
229 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::equal (const EXT_ID &id1,
235 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_UINT32
236 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::free_list_id (void) const
238 // If you change ~0, please change
239 // ACE_Active_Map_Manager_Key::ACE_Active_Map_Manager_Key()
241 return (ACE_UINT32) ~0;
244 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_UINT32
245 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::occupied_list_id (void) const
247 return (ACE_UINT32) ~1;
250 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
251 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
252 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::begin (void)
254 return ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this);
257 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
258 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
259 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::end (void)
261 return ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this, 1);
264 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
265 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
266 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rbegin (void)
268 return ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this);
271 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
272 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
273 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rend (void)
275 return ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this, 1);
278 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
279 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Iterator_Base (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm)
281 next_ (map_man_->occupied_list_id ())
285 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
286 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::next (ACE_Map_Entry<EXT_ID, INT_ID> *&mm) const
288 if (this->next_ != this->map_man_->occupied_list_id ())
290 mm = &this->map_man_->search_structure_[this->next_];
297 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
298 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::done (void) const
300 return this->next_ == this->map_man_->occupied_list_id ();
303 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
304 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::forward_i (void)
307 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
311 // Go to the next item in the list.
312 this->next_ = this->map_man_->search_structure_[this->next_].next ();
314 // Stop if we reach the end.
318 // Break if we find a non-free slot.
319 if (!this->map_man_->search_structure_[this->next_].free_)
327 this->next_ = this->map_man_->search_structure_[this->next_].next ();
329 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
331 return this->next_ != this->map_man_->occupied_list_id ();
334 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
335 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::reverse_i (void)
338 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
342 // Go to the prev item in the list.
343 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
345 // Stop if we reach the end.
349 // Break if we find a non-free slot.
350 if (!this->map_man_->search_structure_[this->next_].free_)
358 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
360 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
362 return this->next_ != this->map_man_->occupied_list_id ();
365 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
366 ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &
367 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::map (void)
369 return *this->map_man_;
372 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
373 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator== (const ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const
375 return (this->map_man_ == rhs.map_man_ &&
376 this->next_ == rhs.next_);
379 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
380 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator!= (const ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const
382 return !this->operator== (rhs);
385 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
386 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)
388 next_ (this->map_man_->occupied_list_id ())
392 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
393 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::next (ACE_Map_Entry<EXT_ID, INT_ID> *&mm) const
395 if (this->next_ != this->map_man_->occupied_list_id ())
397 mm = &this->map_man_->search_structure_[this->next_];
404 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
405 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::done (void) const
407 return this->next_ == this->map_man_->occupied_list_id ();
410 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
411 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::forward_i (void)
414 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
418 // Go to the next item in the list.
419 this->next_ = this->map_man_->search_structure_[this->next_].next ();
421 // Stop if we reach the end.
425 // Break if we find a non-free slot.
426 if (!this->map_man_->search_structure_[this->next_].free_)
434 this->next_ = this->map_man_->search_structure_[this->next_].next ();
436 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
438 return this->next_ != this->map_man_->occupied_list_id ();
441 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
442 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::reverse_i (void)
445 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
449 // Go to the prev item in the list.
450 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
452 // Stop if we reach the end.
456 // Break if we find a non-free slot.
457 if (!this->map_man_->search_structure_[this->next_].free_)
465 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
467 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
469 return this->next_ != this->map_man_->occupied_list_id ();
472 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
473 const ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &
474 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::map (void) const
476 return *this->map_man_;
479 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
480 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
482 return (this->map_man_ == rhs.map_man_ &&
483 this->next_ == rhs.next_);
486 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool
487 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
489 return !this->operator== (rhs);
492 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
493 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Iterator (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
495 : ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm)
500 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
503 this->next_ = this->map_man_->occupied_list_.next ();
507 // Stop if we reach the end.
511 // Break if we find a non-free slot.
512 if (!this->map_man_->search_structure_[this->next_].free_)
517 // Go to the next item in the list.
518 this->next_ = this->map_man_->search_structure_[this->next_].next ();
523 this->next_ = this->map_man_->occupied_list_.next ();
525 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
530 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
531 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance (void)
533 return this->forward_i ();
536 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
537 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
538 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (void)
544 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
545 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
546 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int)
548 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
553 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
554 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
555 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (void)
561 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
562 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>
563 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int)
565 ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
570 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
571 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,
573 : ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm)
578 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
581 this->next_ = this->map_man_->occupied_list_.next ();
585 // Stop if we reach the end.
589 // Break if we find a non-free slot.
590 if (!this->map_man_->search_structure_[this->next_].free_)
595 // Go to the next item in the list.
596 this->next_ = this->map_man_->search_structure_[this->next_].next ();
601 this->next_ = this->map_man_->occupied_list_.next ();
603 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
608 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
609 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance (void)
611 return this->forward_i ();
614 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
615 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
616 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (void)
622 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
623 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>
624 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int)
626 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
631 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
632 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
633 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (void)
639 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
640 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>
641 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int)
643 ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
648 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
649 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Reverse_Iterator (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm,
651 : ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm)
656 #if defined (ACE_HAS_LAZY_MAP_MANAGER)
659 this->next_ = this->map_man_->occupied_list_.prev ();
663 // Stop if we reach the end.
667 // Break if we find a non-free slot.
668 if (!this->map_man_->search_structure_[this->next_].free_)
673 // Go to the prev item in the list.
674 this->next_ = this->map_man_->search_structure_[this->next_].prev ();
679 this->next_ = this->map_man_->occupied_list_.prev ();
681 #endif /* ACE_HAS_LAZY_MAP_MANAGER */
686 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int
687 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance (void)
689 return this->reverse_i ();
692 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
693 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
694 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (void)
700 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
701 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
702 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int)
704 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
709 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
710 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> &
711 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (void)
717 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
718 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>
719 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int)
721 ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this);
726 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
727 ACE_Map_Entry<EXT_ID, INT_ID>&
728 ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator* (void) const
730 ACE_Map_Entry<EXT_ID, INT_ID> *retv = 0;
732 int const result = this->next (retv);
733 ACE_ASSERT (result != 0);
734 ACE_UNUSED_ARG (result);
739 template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE
740 ACE_Map_Entry<EXT_ID, INT_ID>&
741 ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator* (void) const
743 ACE_Map_Entry<EXT_ID, INT_ID> *retv = 0;
745 int const result = this->next (retv);
746 ACE_ASSERT (result != 0);
747 ACE_UNUSED_ARG (result);
753 ACE_END_VERSIONED_NAMESPACE_DECL