| 84 | } |
| 85 | |
| 86 | pub(super) fn delete_inner(&mut self, id: u32) -> bool { |
| 87 | if id >= self.growing_base_id { |
| 88 | let local = id - self.growing_base_id; |
| 89 | if (local as usize) < self.growing.len() { |
| 90 | return self.growing.delete(local); |
| 91 | } |
| 92 | } |
| 93 | for seg in &mut self.sealed { |
| 94 | if id >= seg.base_id { |
| 95 | let local = id - seg.base_id; |
| 96 | if (local as usize) < seg.index.len() { |
| 97 | return seg.index.delete(local); |
| 98 | } |
| 99 | } |
| 100 | } |
| 101 | for seg in &mut self.building { |
| 102 | if id >= seg.base_id { |
| 103 | let local = id - seg.base_id; |
| 104 | if (local as usize) < seg.flat.len() { |
| 105 | return seg.flat.delete(local); |
| 106 | } |
| 107 | } |
| 108 | } |
| 109 | false |
| 110 | } |
| 111 | |
| 112 | /// Soft-delete a vector by surrogate. |
| 113 | pub fn delete_by_surrogate(&mut self, surrogate: Surrogate) -> bool { |