]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
hashtable (hashtable::m_erase): Rename to erase_node.
authorPaolo Carlini <pcarlini@suse.de>
Fri, 14 Oct 2005 10:43:30 +0000 (10:43 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Fri, 14 Oct 2005 10:43:30 +0000 (10:43 +0000)
2005-10-14  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
(hashtable::erase(iterator), erase(const_iterator)): Adjust.

From-SVN: r105401

libstdc++-v3/ChangeLog
libstdc++-v3/include/tr1/hashtable

index d4a25a179aab61bfb0f4047455cc7bf31b3cf898..257e72898401a2d9ecd86e1b13b219cbab245391 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-14  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
+       (hashtable::erase(iterator), erase(const_iterator)): Adjust.
+
 2005-10-13  Richard Earnshaw  <richard.earnsahw@arm.com>
 
        PR libstdc++/23926
index 36e33b0f418f366db2e146c49acd89adca92fc83..0add0e3a96639c8e15f2cf448e091ade6d1fc651 100644 (file)
@@ -329,7 +329,8 @@ namespace Internal
       { 
        hashtable_iterator tmp(*this);
        this->incr();
-       return tmp; }
+       return tmp;
+      }
     };
 
   template<typename Value, bool constant_iterators, bool cache>
@@ -374,7 +375,8 @@ namespace Internal
       { 
        hashtable_const_iterator tmp(*this);
        this->incr();
-       return tmp; }
+       return tmp;
+      }
     };
 } // namespace Internal
 
@@ -1169,6 +1171,9 @@ namespace tr1
       iterator
       insert(const value_type&, std::tr1::false_type);
 
+      void
+      erase_node(node*, node**);
+
     public:                            // Insert and erase
       Insert_Return_Type
       insert(const value_type& v) 
@@ -1191,25 +1196,21 @@ namespace tr1
 
       iterator
       erase(iterator);
-  
+
       const_iterator
       erase(const_iterator);
+
       size_type
       erase(const key_type&);
 
       iterator
       erase(iterator, iterator);
-       
+
       const_iterator
       erase(const_iterator, const_iterator);
 
       void
       clear();
-      
-    private:
-      // For erase(iterator) and erase(const_iterator).
-      void m_erase(node*, node**);
 
     public:
       // Set number of buckets to be apropriate for container of n element.
@@ -1673,6 +1674,33 @@ namespace tr1
       return iterator(new_node, m_buckets + n);
     }
 
+  // For erase(iterator) and erase(const_iterator).
+  template<typename K, typename V, 
+          typename A, typename Ex, typename Eq,
+          typename H1, typename H2, typename H, typename RP,
+          bool c, bool ci, bool u>
+    void
+    hashtable<K, V, A, Ex, Eq, H1, H2, H, RP, c, ci, u>::
+    erase_node(node* p, node** b)
+    {
+      node* cur = *b;
+      if (cur == p)
+       *b = cur->m_next;
+      else
+       {
+         node* next = cur->m_next;
+         while (next != p)
+           {
+             cur = next;
+             next = cur->m_next;
+           }
+         cur->m_next = next->m_next;
+       }
+
+      m_deallocate_node (p);
+      --m_element_count;
+    }
+
   template<typename K, typename V, 
           typename A, typename Ex, typename Eq,
           typename H1, typename H2, typename H, typename RP,
@@ -1702,7 +1730,7 @@ namespace tr1
     {
       iterator result = i;
       ++result;
-      m_erase(i.m_cur_node, i.m_cur_bucket);
+      erase_node(i.m_cur_node, i.m_cur_bucket);
       return result;
     }
   
@@ -1716,7 +1744,7 @@ namespace tr1
     {
       const_iterator result = i;
       ++result;
-      m_erase(i.m_cur_node, i.m_cur_bucket);
+      erase_node(i.m_cur_node, i.m_cur_bucket);
       return result;
     }
 
@@ -1825,32 +1853,6 @@ namespace tr1
          __throw_exception_again;
        }
     }
-
-  template<typename K, typename V, 
-          typename A, typename Ex, typename Eq,
-          typename H1, typename H2, typename H, typename RP,
-          bool c, bool ci, bool u>
-    void
-    hashtable<K, V, A, Ex, Eq, H1, H2, H, RP, c, ci, u>::
-    m_erase(node* p, node** b)
-    {
-      node* cur = *b;
-      if (cur == p)
-       *b = cur->m_next;
-      else
-       {
-         node* next = cur->m_next;
-         while (next != p)
-           {
-             cur = next;
-             next = cur->m_next;
-           }
-         cur->m_next = next->m_next;
-       }
-
-      m_deallocate_node (p);
-      --m_element_count;
-    }
 }
 }                              // Namespace std::tr1