diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 13:56:48 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 13:56:48 +0000 |
commit | c4078c377d74290ebe4e66da0b4975da91732376 (patch) | |
tree | 1816ef391e42a07929304908ac0e21f4c2f6cb7b /ACE/ace/Map_Manager.inl | |
parent | 700d1c1a6be348c6c70a2085e559baeb8f4a62ea (diff) | |
download | ATCD-c4078c377d74290ebe4e66da0b4975da91732376.tar.gz |
swap in externals for ACE and TAO
Diffstat (limited to 'ACE/ace/Map_Manager.inl')
-rw-r--r-- | ACE/ace/Map_Manager.inl | 729 |
1 files changed, 0 insertions, 729 deletions
diff --git a/ACE/ace/Map_Manager.inl b/ACE/ace/Map_Manager.inl deleted file mode 100644 index cbbc108bcf2..00000000000 --- a/ACE/ace/Map_Manager.inl +++ /dev/null @@ -1,729 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "ace/Guard_T.h" -#include "ace/Log_Msg.h" - -ACE_BEGIN_VERSIONED_NAMESPACE_DECL - -template <class EXT_ID, class INT_ID> ACE_INLINE -ACE_Map_Entry<EXT_ID, INT_ID>::ACE_Map_Entry (void) - : next_ (0), - prev_ (0) -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - , free_ (1) -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ -{ -} - -template <class EXT_ID, class INT_ID> ACE_INLINE -ACE_Map_Entry<EXT_ID, INT_ID>::~ACE_Map_Entry (void) -{ - // No-op just to keep some compilers happy... -} - -template <class EXT_ID, class INT_ID> ACE_INLINE ACE_UINT32 -ACE_Map_Entry<EXT_ID, INT_ID>::next (void) const -{ - return this->next_; -} - -template <class EXT_ID, class INT_ID> ACE_INLINE void -ACE_Map_Entry<EXT_ID, INT_ID>::next (ACE_UINT32 n) -{ - this->next_ = n; -} - -template <class EXT_ID, class INT_ID> ACE_INLINE ACE_UINT32 -ACE_Map_Entry<EXT_ID, INT_ID>::prev (void) const -{ - return this->prev_; -} - -template <class EXT_ID, class INT_ID> ACE_INLINE void -ACE_Map_Entry<EXT_ID, INT_ID>::prev (ACE_UINT32 p) -{ - this->prev_ = p; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Manager (size_t size, - ACE_Allocator *alloc) - : allocator_ (0), - search_structure_ (0), - total_size_ (0), - cur_size_ (0) -{ - if (this->open (size, alloc) == -1) - ACE_ERROR ((LM_ERROR, ACE_TEXT ("ACE_Map_Manager\n"))); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Manager (ACE_Allocator *alloc) - : allocator_ (0), - search_structure_ (0), - total_size_ (0), - cur_size_ (0) -{ - if (this->open (ACE_DEFAULT_MAP_SIZE, alloc) == -1) - ACE_ERROR ((LM_ERROR, ACE_TEXT ("ACE_Map_Manager\n"))); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::close (void) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->close_i (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::~ACE_Map_Manager (void) -{ - this->close (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::bind (const EXT_ID &ext_id, - const INT_ID &int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->bind_i (ext_id, - int_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - EXT_ID &old_ext_id, - INT_ID &old_int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->rebind_i (ext_id, - int_id, - old_ext_id, - old_int_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id, - const INT_ID &int_id, - INT_ID &old_int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->rebind_i (ext_id, - int_id, - old_int_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rebind (const EXT_ID &ext_id, - const INT_ID &int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->rebind_i (ext_id, - int_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::trybind (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->trybind_i (ext_id, - int_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::find (const EXT_ID &ext_id) const -{ - ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *nc_this = - (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *) this; - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1); - - ACE_UINT32 slot = 0; - return nc_this->find_and_return_index (ext_id, slot); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::find (const EXT_ID &ext_id, - INT_ID &int_id) const -{ - ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *nc_this = - (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> *) this; - ACE_READ_GUARD_RETURN (ACE_LOCK, ace_mon, nc_this->lock_, -1); - - return nc_this->find_i (ext_id, int_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind_i (const EXT_ID &ext_id) -{ - // Unbind the entry. - ACE_UINT32 slot = 0; - return this->unbind_and_return_index (ext_id, - slot); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind (const EXT_ID &ext_id, - INT_ID &int_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - - return this->unbind_i (ext_id, - int_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind (const EXT_ID &ext_id) -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, -1); - return this->unbind_i (ext_id); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE size_t -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::current_size (void) const -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, static_cast<size_t> (-1)); - return this->cur_size_; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE size_t -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::total_size (void) const -{ - ACE_WRITE_GUARD_RETURN (ACE_LOCK, ace_mon, this->lock_, static_cast<size_t> (-1)); - return this->total_size_; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_LOCK & -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::mutex (void) -{ - return this->lock_; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE void -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::move_from_free_list_to_occupied_list (ACE_UINT32 slot) -{ - this->shared_move (slot, - this->free_list_, - this->free_list_id (), - this->occupied_list_, - this->occupied_list_id ()); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE void -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::move_from_occupied_list_to_free_list (ACE_UINT32 slot) -{ - this->shared_move (slot, - this->occupied_list_, - this->occupied_list_id (), - this->free_list_, - this->free_list_id ()); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::equal (const EXT_ID &id1, - const EXT_ID &id2) -{ - return id1 == id2; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_UINT32 -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::free_list_id (void) const -{ - // If you change ~0, please change - // ACE_Active_Map_Manager_Key::ACE_Active_Map_Manager_Key() - // accordingly. - return (ACE_UINT32) ~0; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE ACE_UINT32 -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::occupied_list_id (void) const -{ - return (ACE_UINT32) ~1; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::begin (void) -{ - return ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::end (void) -{ - return ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this, 1); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rbegin (void) -{ - return ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::rend (void) -{ - return ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> (*this, 1); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Iterator_Base (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm) - : map_man_ (&mm), - next_ (map_man_->occupied_list_id ()) -{ -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::next (ACE_Map_Entry<EXT_ID, INT_ID> *&mm) const -{ - if (this->next_ != this->map_man_->occupied_list_id ()) - { - mm = &this->map_man_->search_structure_[this->next_]; - return 1; - } - else - return 0; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::done (void) const -{ - return this->next_ == this->map_man_->occupied_list_id (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::forward_i (void) -{ - -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - - while (1) - { - // Go to the next item in the list. - this->next_ = this->map_man_->search_structure_[this->next_].next (); - - // Stop if we reach the end. - if (this->done ()) - break; - - // Break if we find a non-free slot. - if (!this->map_man_->search_structure_[this->next_].free_) - { - break; - } - } - -#else - - this->next_ = this->map_man_->search_structure_[this->next_].next (); - -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ - - return this->next_ != this->map_man_->occupied_list_id (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::reverse_i (void) -{ - -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - - while (1) - { - // Go to the prev item in the list. - this->next_ = this->map_man_->search_structure_[this->next_].prev (); - - // Stop if we reach the end. - if (this->done ()) - break; - - // Break if we find a non-free slot. - if (!this->map_man_->search_structure_[this->next_].free_) - { - break; - } - } - -#else - - this->next_ = this->map_man_->search_structure_[this->next_].prev (); - -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ - - return this->next_ != this->map_man_->occupied_list_id (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::map (void) -{ - return *this->map_man_; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator== (const ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const -{ - return (this->map_man_ == rhs.map_man_ && - this->next_ == rhs.next_); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool -ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::operator!= (const ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> &rhs) const -{ - return !this->operator== (rhs); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -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) - : map_man_ (&mm), - next_ (this->map_man_->occupied_list_id ()) -{ -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::next (ACE_Map_Entry<EXT_ID, INT_ID> *&mm) const -{ - if (this->next_ != this->map_man_->occupied_list_id ()) - { - mm = &this->map_man_->search_structure_[this->next_]; - return 1; - } - else - return 0; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::done (void) const -{ - return this->next_ == this->map_man_->occupied_list_id (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::forward_i (void) -{ - -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - - while (1) - { - // Go to the next item in the list. - this->next_ = this->map_man_->search_structure_[this->next_].next (); - - // Stop if we reach the end. - if (this->done ()) - break; - - // Break if we find a non-free slot. - if (!this->map_man_->search_structure_[this->next_].free_) - { - break; - } - } - -#else - - this->next_ = this->map_man_->search_structure_[this->next_].next (); - -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ - - return this->next_ != this->map_man_->occupied_list_id (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::reverse_i (void) -{ - -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - - while (1) - { - // Go to the prev item in the list. - this->next_ = this->map_man_->search_structure_[this->next_].prev (); - - // Stop if we reach the end. - if (this->done ()) - break; - - // Break if we find a non-free slot. - if (!this->map_man_->search_structure_[this->next_].free_) - { - break; - } - } - -#else - - this->next_ = this->map_man_->search_structure_[this->next_].prev (); - -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ - - return this->next_ != this->map_man_->occupied_list_id (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -const ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK>::map (void) const -{ - return *this->map_man_; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool -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 -{ - return (this->map_man_ == rhs.map_man_ && - this->next_ == rhs.next_); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE bool -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 -{ - return !this->operator== (rhs); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Iterator (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm, - int pass_end) - : ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm) -{ - if (!pass_end) - { - -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - - // Start here. - this->next_ = this->map_man_->occupied_list_.next (); - - while (1) - { - // Stop if we reach the end. - if (this->done ()) - break; - - // Break if we find a non-free slot. - if (!this->map_man_->search_structure_[this->next_].free_) - { - break; - } - - // Go to the next item in the list. - this->next_ = this->map_man_->search_structure_[this->next_].next (); - } - -#else - - this->next_ = this->map_man_->occupied_list_.next (); - -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ - - } -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance (void) -{ - return this->forward_i (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (void) -{ - this->forward_i (); - return *this; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int) -{ - ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this); - ++*this; - return retv; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (void) -{ - this->reverse_i (); - return *this; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int) -{ - ACE_Map_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this); - --*this; - return retv; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -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, - int pass_end) - : ACE_Map_Const_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm) -{ - if (!pass_end) - { - -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - - // Start here. - this->next_ = this->map_man_->occupied_list_.next (); - - while (1) - { - // Stop if we reach the end. - if (this->done ()) - break; - - // Break if we find a non-free slot. - if (!this->map_man_->search_structure_[this->next_].free_) - { - break; - } - - // Go to the next item in the list. - this->next_ = this->map_man_->search_structure_[this->next_].next (); - } - -#else - - this->next_ = this->map_man_->occupied_list_.next (); - -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ - - } -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance (void) -{ - return this->forward_i (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (void) -{ - this->forward_i (); - return *this; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int) -{ - ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this); - ++*this; - return retv; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (void) -{ - this->reverse_i (); - return *this; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int) -{ - ACE_Map_Const_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this); - --*this; - return retv; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::ACE_Map_Reverse_Iterator (ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK> &mm, - int pass_end) - : ACE_Map_Iterator_Base<EXT_ID, INT_ID, ACE_LOCK> (mm) -{ - if (!pass_end) - { - -#if defined (ACE_HAS_LAZY_MAP_MANAGER) - - // Start here. - this->next_ = this->map_man_->occupied_list_.prev (); - - while (1) - { - // Stop if we reach the end. - if (this->done ()) - break; - - // Break if we find a non-free slot. - if (!this->map_man_->search_structure_[this->next_].free_) - { - break; - } - - // Go to the prev item in the list. - this->next_ = this->map_man_->search_structure_[this->next_].prev (); - } - -#else - - this->next_ = this->map_man_->occupied_list_.prev (); - -#endif /* ACE_HAS_LAZY_MAP_MANAGER */ - -} -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE int -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::advance (void) -{ - return this->reverse_i (); -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (void) -{ - this->reverse_i (); - return *this; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator++ (int) -{ - ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this); - ++*this; - return retv; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> & -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (void) -{ - this->forward_i (); - return *this; -} - -template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_INLINE -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> -ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK>::operator-- (int) -{ - ACE_Map_Reverse_Iterator<EXT_ID, INT_ID, ACE_LOCK> retv (*this); - --*this; - return retv; -} - -ACE_END_VERSIONED_NAMESPACE_DECL |