VirtualVector

Trait VirtualVector 

Source
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 { ... }
}
Expand description

A trait that can be implemented on a type so that the type can be used in a virtual_stack or virtual_list.

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,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T> VirtualVector<T> for ReadSignal<Vec<T>>
where T: Clone + 'static,

Source§

fn total_len(&self) -> usize

Source§

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

Source§

impl<T> VirtualVector<T> for Range<T>
where T: Copy + Sub<Output = T> + Add<Output = T> + PartialOrd + From<usize>, usize: From<T>, Range<T>: Iterator<Item = T>,

Source§

fn total_len(&self) -> usize

Source§

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

Source§

impl<T> VirtualVector<T> for RangeInclusive<T>
where T: Copy + Sub<Output = T> + Add<Output = T> + PartialOrd + From<usize>, usize: From<T>, Range<T>: Iterator<Item = T>,

Source§

fn total_len(&self) -> usize

Source§

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

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<T> VirtualVector<T> for RwSignal<Vec<T>>
where T: Clone + 'static,

Source§

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