46   if (!resize_base::is_resize_needed())
 
   48   resize_imp(resize_base::get_new_size(m_num_e, m_num_used_e));
 
   55 do_resize(size_type n)
 
   56 { resize_imp(resize_base::get_nearest_larger_size(n)); }
 
   61 do_resize_if_needed_no_throw()
 
   63   if (!resize_base::is_resize_needed())
 
   68       resize_imp(resize_base::get_new_size(m_num_e, m_num_used_e));
 
   73   PB_DS_ASSERT_VALID((*
this))
 
   79 resize_imp(size_type new_size)
 
   81 #ifdef PB_DS_REGRESSION 
   82   typename _Alloc::group_adjustor adjust(m_num_e);
 
   85   if (new_size == m_num_e)
 
   88   PB_DS_ASSERT_VALID((*
this))
 
   89   const size_type old_size = m_num_e;
 
   90   entry_array a_entries_resized = 0;
 
   93   a_entries_resized = s_entry_allocator.allocate(new_size);
 
   95   ranged_probe_fn_base::notify_resized(new_size);
 
   98   for (size_type i = 0; i < m_num_e; ++i)
 
   99     a_entries_resized[i].m_stat = empty_entry_status;
 
  103       resize_imp(a_entries_resized, old_size);
 
  107       erase_all_valid_entries(a_entries_resized, new_size);
 
  109       s_entry_allocator.deallocate(a_entries_resized, new_size);
 
  110       ranged_probe_fn_base::notify_resized(old_size);
 
  111       __throw_exception_again;
 
  115   _GLIBCXX_DEBUG_ONLY(assert_entry_array_valid(a_entries_resized,
 
  116                            traits_base::m_store_extra_indicator,
 
  117                            __FILE__, __LINE__);)
 
  119   Resize_Policy::notify_resized(new_size);
 
  120   erase_all_valid_entries(m_entries, old_size);
 
  121   s_entry_allocator.deallocate(m_entries, old_size);
 
  122   m_entries = a_entries_resized;
 
  123   PB_DS_ASSERT_VALID((*
this))
 
  129 resize_imp(entry_array a_entries_resized, size_type old_size)
 
  131   for (size_type pos = 0; pos < old_size; ++pos)
 
  132     if (m_entries[pos].m_stat == valid_entry_status)
 
  133       resize_imp_reassign(m_entries + pos, a_entries_resized, 
 
  134               traits_base::m_store_extra_indicator);