Inserts an element at its correct position. # Arguments `id` - The ID of the element to insert `after` - The ID this element should be inserted after, or `None` for start # Returns The index at which the element was inserted.
(&mut self, id: Id, after: Option<Id>)
| 358 | /// |
| 359 | /// The index at which the element was inserted. |
| 360 | pub fn insert(&mut self, id: Id, after: Option<Id>) -> usize { |
| 361 | let position = self.resolve_position(&id, &after); |
| 362 | let index = position.to_insert_index(self.elements.len()); |
| 363 | |
| 364 | self.elements.insert(index, id); |
| 365 | self.after_refs.insert(index, after); |
| 366 | |
| 367 | index |
| 368 | } |
| 369 | |
| 370 | /// Resolves the insertion position for a new element. |
| 371 | /// |