| 2149 | |
| 2150 | template <typename P> |
| 2151 | inline void btree_node<P>::remove_value(const int i, allocator_type *alloc) { |
| 2152 | if (!leaf() && count() > i + 1) { |
| 2153 | assert(child(i + 1)->count() == 0); |
| 2154 | for (size_type j = i + 1; j < count(); ++j) { |
| 2155 | set_child(j, child(j + 1)); |
| 2156 | } |
| 2157 | clear_child(count()); |
| 2158 | } |
| 2159 | |
| 2160 | remove_values_ignore_children(i, /*to_erase=*/1, alloc); |
| 2161 | } |
| 2162 | |
| 2163 | template <typename P> |
| 2164 | inline void btree_node<P>::remove_values_ignore_children( |