pub trait VecOp<T: RangeOp>: Send + 'static {
// Required methods
fn push(&mut self, item: T) -> Result<(), RangeError<T>>;
fn as_slice(&self) -> &[T];
fn len(&self) -> usize;
fn remove(&mut self, index: usize) -> T;
fn insert(&mut self, index: usize, item: T) -> Result<(), RangeError<T>>;
// Provided methods
fn merge_same_kind(&mut self) { ... }
fn merge_add(&mut self, item: T) -> Result<(), RangeError<T>> { ... }
}Required Methods§
fn push(&mut self, item: T) -> Result<(), RangeError<T>>
fn as_slice(&self) -> &[T]
fn len(&self) -> usize
fn remove(&mut self, index: usize) -> T
fn insert(&mut self, index: usize, item: T) -> Result<(), RangeError<T>>
Provided Methods§
Sourcefn merge_same_kind(&mut self)
fn merge_same_kind(&mut self)
合并相同类型且相邻或重叠的range
此方法会遍历集合,找到所有相同kind且范围相邻或重叠的range, 并将它们合并成更大的range,以减少集合中的元素数量。