pub trait VirtualVector<T> {
    // Required methods
    fn total_len(&self) -> usize;
    fn slice(&mut self, range: Range<usize>) -> impl Iterator<Item = T>;

    // Provided methods
    fn is_empty(&self) -> bool { ... }
    fn enumerate(self) -> Enumerate<Self, T>
       where Self: Sized { ... }
}

Required Methods§

source

fn total_len(&self) -> usize

source

fn slice(&mut self, range: Range<usize>) -> impl Iterator<Item = T>

Provided Methods§

source

fn is_empty(&self) -> bool

source

fn enumerate(self) -> Enumerate<Self, T>
where Self: Sized,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: Clone> VirtualVector<T> for Vector<T>

source§

fn total_len(&self) -> usize

source§

fn slice(&mut self, range: Range<usize>) -> impl Iterator<Item = T>

Implementors§

source§

impl<V: VirtualVector<T>, T> VirtualVector<(usize, T)> for Enumerate<V, T>