OSDN Git Service

2011-05-23 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / include / ext / pb_ds / detail / thin_heap_ / insert_fn_imps.hpp
index f1195bd..67b7f3a 100644 (file)
@@ -34,7 +34,7 @@
 // warranty.
 
 /**
- * @file insert_fn_imps.hpp
+ * @file thin_heap_/insert_fn_imps.hpp
  * Contains an implementation for thin_heap_.
  */
 
@@ -44,34 +44,22 @@ PB_DS_CLASS_C_DEC::
 push(const_reference r_val)
 {
   PB_DS_ASSERT_VALID((*this))
-
   node_pointer p_nd = base_type::get_new_node_for_insert(r_val);
-
   p_nd->m_metadata = 0;
-
   p_nd->m_p_prev_or_parent = p_nd->m_p_l_child = 0;
-
   if (base_type::m_p_root == 0)
     {
       p_nd->m_p_next_sibling = 0;
-
       m_p_max = base_type::m_p_root = p_nd;
-
       PB_DS_ASSERT_VALID((*this))
-
       return point_iterator(p_nd);
     }
 
   p_nd->m_p_next_sibling = base_type::m_p_root;
-
   base_type::m_p_root->m_p_prev_or_parent = 0;
-
   base_type::m_p_root = p_nd;
-
   update_max(p_nd);
-
   PB_DS_ASSERT_VALID((*this))
-
   return point_iterator(p_nd);
 }
 
@@ -80,10 +68,8 @@ inline void
 PB_DS_CLASS_C_DEC::
 make_root(node_pointer p_nd)
 {
-  p_nd->m_metadata =
-    p_nd->m_p_l_child == 0 ?
-    0 :
-    1 + p_nd->m_p_l_child->m_metadata;
+  p_nd->m_metadata = p_nd->m_p_l_child == 0 
+                     ? 0 : 1 + p_nd->m_p_l_child->m_metadata;
 }
 
 PB_DS_CLASS_T_DEC
@@ -92,16 +78,12 @@ PB_DS_CLASS_C_DEC::
 make_root_and_link(node_pointer p_nd)
 {
   make_root(p_nd);
-
   p_nd->m_p_prev_or_parent = 0;
-
   p_nd->m_p_next_sibling = base_type::m_p_root;
-
   if (base_type::m_p_root != 0)
     base_type::m_p_root->m_p_prev_or_parent = 0;
 
   base_type::m_p_root = p_nd;
-
   update_max(p_nd);
 }
 
@@ -115,7 +97,6 @@ fix(node_pointer p_y)
       if (p_y->m_p_prev_or_parent == 0)
         {
          fix_root(p_y);
-
          return;
         }
       else if (p_y->m_metadata == 1&&  p_y->m_p_next_sibling == 0)
@@ -123,27 +104,22 @@ fix(node_pointer p_y)
          if (p_y->m_p_l_child != 0)
             {
              fix_sibling_rank_1_unmarked(p_y);
-
              return;
             }
 
          fix_sibling_rank_1_marked(p_y);
-
          p_y = p_y->m_p_prev_or_parent;
         }
       else if (p_y->m_metadata > p_y->m_p_next_sibling->m_metadata + 1)
         {
          _GLIBCXX_DEBUG_ASSERT(p_y->m_p_l_child != 0);
-
          if (p_y->m_metadata != p_y->m_p_l_child->m_metadata + 2)
             {
              fix_sibling_general_unmarked(p_y);
-
              return;
             }
 
          fix_sibling_general_marked(p_y);
-
          p_y = p_y->m_p_prev_or_parent;
         }
       else if ((p_y->m_p_l_child == 0&& 
@@ -151,9 +127,7 @@ fix(node_pointer p_y)
                                         p_y->m_metadata == p_y->m_p_l_child->m_metadata + 3))
         {
          node_pointer p_z = p_y->m_p_prev_or_parent;
-
          fix_child(p_y);
-
          p_y = p_z;
         }
       else
@@ -167,9 +141,7 @@ PB_DS_CLASS_C_DEC::
 fix_root(node_pointer p_y)
 {
   _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent == 0);
-
   make_root(p_y);
-
   PB_DS_ASSERT_NODE_CONSISTENT(p_y, true)
 }
 
@@ -186,11 +158,8 @@ fix_sibling_rank_1_unmarked(node_pointer p_y)
   _GLIBCXX_DEBUG_ASSERT(p_y->m_p_next_sibling == 0);
 
   p_y->m_p_next_sibling = p_y->m_p_l_child;
-
   p_y->m_p_next_sibling->m_p_prev_or_parent = p_y;
-
   p_y->m_p_l_child = 0;
-
   PB_DS_ASSERT_NODE_CONSISTENT(p_y, false)
 }
 
@@ -201,9 +170,7 @@ fix_sibling_rank_1_marked(node_pointer p_y)
 {
   _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent != 0);
   _GLIBCXX_DEBUG_ASSERT(p_y->m_p_l_child == 0);
-
   p_y->m_metadata = 0;
-
   PB_DS_ASSERT_NODE_CONSISTENT(p_y, false)
 }
 
@@ -237,9 +204,7 @@ PB_DS_CLASS_C_DEC::
 fix_sibling_general_marked(node_pointer p_y)
 {
   _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent != 0);
-
   --p_y->m_metadata;
-
   PB_DS_ASSERT_NODE_CONSISTENT(p_y, false)
 }
 
@@ -267,33 +232,24 @@ PB_DS_CLASS_C_DEC::
 modify(point_iterator it, const_reference r_new_val)
 {
   PB_DS_ASSERT_VALID((*this))
-    node_pointer p_nd = it.m_p_nd;
-
+  node_pointer p_nd = it.m_p_nd;
   _GLIBCXX_DEBUG_ASSERT(p_nd != 0);
 
   const bool smaller = Cmp_Fn::operator()(r_new_val, p_nd->m_value);
-
   p_nd->m_value = r_new_val;
-
   if (smaller)
     {
       remove_node(p_nd);
-
       p_nd->m_p_l_child = 0;
-
       make_root_and_link(p_nd);
-
       PB_DS_ASSERT_VALID((*this))
-
       return;
     }
 
   if (p_nd->m_p_prev_or_parent == 0)
     {
       update_max(p_nd);
-
       PB_DS_ASSERT_VALID((*this))
-
       return;
     }
 
@@ -309,9 +265,7 @@ modify(point_iterator it, const_reference r_new_val)
     p_y->m_p_next_sibling = p_nd->m_p_next_sibling;
 
   fix(p_y);
-
   make_root_and_link(p_nd);
-
   PB_DS_ASSERT_VALID((*this))
 }