Remove the key-value pair at the current position and advance the path to the next key-value pair, leaving the path in a normalized state. Return the new root node.
(&mut self, pool: &mut NodePool<F>)
| 378 | /// |
| 379 | /// Return the new root node. |
| 380 | pub fn remove(&mut self, pool: &mut NodePool<F>) -> Option<Node> { |
| 381 | let e = self.leaf_entry(); |
| 382 | match pool[self.leaf_node()].leaf_remove(e) { |
| 383 | Removed::Healthy => { |
| 384 | if e == 0 { |
| 385 | self.update_crit_key(pool) |
| 386 | } |
| 387 | Some(self.node[0]) |
| 388 | } |
| 389 | status => self.balance_nodes(status, pool), |
| 390 | } |
| 391 | } |
| 392 | |
| 393 | /// Get the critical key for the current node at `level`. |
| 394 | /// |
nothing calls this directly
no test coverage detected