pub trait WritableVecExt<T>: Writable<Vec<T>>where
    T: 'static,{
    // Provided methods
    fn push(&mut self, value: T) { ... }
    fn pop(&mut self) -> Option<T> { ... }
    fn insert(&mut self, index: usize, value: T) { ... }
    fn remove(&mut self, index: usize) -> T { ... }
    fn clear(&mut self) { ... }
    fn extend(&mut self, iter: impl IntoIterator<Item = T>) { ... }
    fn truncate(&mut self, len: usize) { ... }
    fn swap_remove(&mut self, index: usize) -> T { ... }
    fn retain(&mut self, f: impl FnMut(&T) -> bool) { ... }
    fn split_off(&mut self, at: usize) -> Vec<T> { ... }
    fn get_mut(&mut self, index: usize) -> Option<Self::Mut<T>> { ... }
    fn iter_mut(&self) -> WritableValueIterator<T, Self> 
       where Self: Sized + Clone { ... }
}
Expand description

An extension trait for Writable<Vec> that provides some convenience methods.

Provided Methods§

fn push(&mut self, value: T)

Pushes a new value to the end of the vector.

fn pop(&mut self) -> Option<T>

Pops the last value from the vector.

fn insert(&mut self, index: usize, value: T)

Inserts a new value at the given index.

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

Removes the value at the given index.

fn clear(&mut self)

Clears the vector, removing all values.

fn extend(&mut self, iter: impl IntoIterator<Item = T>)

Extends the vector with the given iterator.

fn truncate(&mut self, len: usize)

Truncates the vector to the given length.

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

Swaps two values in the vector.

fn retain(&mut self, f: impl FnMut(&T) -> bool)

Retains only the values that match the given predicate.

fn split_off(&mut self, at: usize) -> Vec<T>

Splits the vector into two at the given index.

fn get_mut(&mut self, index: usize) -> Option<Self::Mut<T>>

Try to mutably get an element from the vector.

fn iter_mut(&self) -> WritableValueIterator<T, Self> where Self: Sized + Clone,

Gets an iterator over the values of the vector.

Object Safety§

This trait is not object safe.

Implementors§

§

impl<T, W> WritableVecExt<T> for Wwhere T: 'static, W: Writable<Vec<T>>,