[][src]Trait smallvec_stableunion::VecLike

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);
}
Deprecated:

Use Extend and Deref<[T]> instead

panic!() in debug builds, optimization hint in release. Common operations implemented by both Vec and SmallVec.

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

Example

use smallvec::{VecLike, SmallVec};

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 small_vec = SmallVec::<[u8; 8]>::new();
initialize(&mut small_vec);

Required methods

fn push(&mut self, value: T)

Deprecated:

Use Extend and Deref<[T]> instead

Append an element to the vector.

Loading content...

Implementations on Foreign Types

impl<T> VecLike<T> for Vec<T>[src]

Loading content...

Implementors

impl<A: Array + Copy> VecLike<<A as Array>::Item> for SmallVec<A>[src]

Loading content...