Skip to main content

VecOp

Trait VecOp 

Source
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§

Source

fn push(&mut self, item: T) -> Result<(), RangeError<T>>

Source

fn as_slice(&self) -> &[T]

Source

fn len(&self) -> usize

Source

fn remove(&mut self, index: usize) -> T

Source

fn insert(&mut self, index: usize, item: T) -> Result<(), RangeError<T>>

Provided Methods§

Source

fn merge_same_kind(&mut self)

合并相同类型且相邻或重叠的range

此方法会遍历集合,找到所有相同kind且范围相邻或重叠的range, 并将它们合并成更大的range,以减少集合中的元素数量。

Source

fn merge_add(&mut self, item: T) -> Result<(), RangeError<T>>

Implementations on Foreign Types§

Source§

impl<T: RangeOp + Send + 'static> VecOp<T> for Vec<T>

Source§

fn push(&mut self, item: T) -> Result<(), RangeError<T>>

Source§

fn as_slice(&self) -> &[T]

Source§

fn len(&self) -> usize

Source§

fn remove(&mut self, index: usize) -> T

Source§

fn insert(&mut self, index: usize, item: T) -> Result<(), RangeError<T>>

Source§

impl<T: RangeOp + Send + 'static, const N: usize> VecOp<T> for Vec<T, N>

Source§

fn push(&mut self, item: T) -> Result<(), RangeError<T>>

Source§

fn as_slice(&self) -> &[T]

Source§

fn len(&self) -> usize

Source§

fn remove(&mut self, index: usize) -> T

Source§

fn insert(&mut self, index: usize, item: T) -> Result<(), RangeError<T>>

Implementors§