Trait stackvector::VecLike

source ·
pub trait VecLike<T>: Index<usize, Output = T> + IndexMut<usize> + Index<Range<usize>, Output = [T]> + IndexMut<Range<usize>> + Index<RangeFrom<usize>, Output = [T]> + IndexMut<RangeFrom<usize>> + Index<RangeTo<usize>, Output = [T]> + IndexMut<RangeTo<usize>> + Index<RangeFull, Output = [T]> + IndexMut<RangeFull> + DerefMut<Target = [T]> + Extend<T> {
    fn push(&mut self, value: T);
    fn pop(&mut self) -> Option<T>;
}
👎Deprecated: Use Extend and Deref<[T]> instead
Expand description

Common operations implemented by both Vec and StackVec.

This can be used to write generic code that works with both Vec and StackVec.

Example

use stackvector::{VecLike, StackVec};

fn initialize<V: VecLike<u8>>(v: &mut V) {
    for i in 0..5 {
        v.push(i);
    }
}

let mut vec = Vec::new();
initialize(&mut vec);

let mut stack_vec = StackVec::<[u8; 8]>::new();
initialize(&mut stack_vec);

Required Methods

👎Deprecated: Use Extend and Deref<[T]> instead

Append an element to the vector.

👎Deprecated: Use Extend and Deref<[T]> instead

Pop an element from the end of the vector.

Implementations on Foreign Types

👎Deprecated: Use Extend and Deref<[T]> instead
👎Deprecated: Use Extend and Deref<[T]> instead

Implementors