Vector

Trait Vector 

Source
pub unsafe trait Vector {
    type Item;

Show 25 methods // Required methods fn with_capacity(cap: usize) -> Self where Self: Sized; fn capacity(&self) -> usize; fn reserve(&mut self, additional: usize); fn reserve_exact(&mut self, additional: usize); fn shrink_to_fit(&mut self); fn into_boxed_slice(self) -> Box<[Self::Item]>; unsafe fn set_len(&mut self, len: usize); fn len(&self) -> usize; fn as_ptr(&self) -> *const Self::Item; fn as_mut_ptr(&mut self) -> *mut Self::Item; // Provided methods fn new() -> Self where Self: Sized { ... } fn truncate(&mut self, len: usize) { ... } fn swap_remove(&mut self, index: usize) -> Self::Item { ... } fn insert(&mut self, index: usize, element: Self::Item) { ... } fn remove(&mut self, index: usize) -> Self::Item { ... } fn retain<F: FnMut(&Self::Item) -> bool>(&mut self, f: F) where Self: Sized { ... } fn push(&mut self, value: Self::Item) { ... } fn pop(&mut self) -> Option<Self::Item> { ... } fn clear(&mut self) { ... } fn is_empty(&self) -> bool { ... } fn push_cap(&mut self, value: Self::Item) -> Result<(), Self::Item> { ... } fn insert_cap( &mut self, index: usize, element: Self::Item, ) -> Option<Self::Item> { ... } fn as_slice(&self) -> &[Self::Item] { ... } fn as_mut_slice(&mut self) -> &mut [Self::Item] { ... } unsafe fn uninitialized_resize(&mut self, new_len: usize) { ... }
}

Required Associated Types§

Required Methods§

Source

fn with_capacity(cap: usize) -> Self
where Self: Sized,

Source

fn capacity(&self) -> usize

Source

fn reserve(&mut self, additional: usize)

Source

fn reserve_exact(&mut self, additional: usize)

Source

fn shrink_to_fit(&mut self)

Source

fn into_boxed_slice(self) -> Box<[Self::Item]>

Source

unsafe fn set_len(&mut self, len: usize)

Source

fn len(&self) -> usize

Source

fn as_ptr(&self) -> *const Self::Item

Source

fn as_mut_ptr(&mut self) -> *mut Self::Item

Provided Methods§

Source

fn new() -> Self
where Self: Sized,

Source

fn truncate(&mut self, len: usize)

Source

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

Source

fn insert(&mut self, index: usize, element: Self::Item)

Source

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

Source

fn retain<F: FnMut(&Self::Item) -> bool>(&mut self, f: F)
where Self: Sized,

Source

fn push(&mut self, value: Self::Item)

Source

fn pop(&mut self) -> Option<Self::Item>

Source

fn clear(&mut self)

Source

fn is_empty(&self) -> bool

Source

fn push_cap(&mut self, value: Self::Item) -> Result<(), Self::Item>

Source

fn insert_cap( &mut self, index: usize, element: Self::Item, ) -> Option<Self::Item>

Source

fn as_slice(&self) -> &[Self::Item]

Source

fn as_mut_slice(&mut self) -> &mut [Self::Item]

Source

unsafe fn uninitialized_resize(&mut self, new_len: usize)

Trait Implementations§

Source§

impl<'a, T: Array + 'a, S: Vector<Item = T::Item> + 'a> AsRef<dyn Vector<Item = <T as Array>::Item> + 'a> for SmallVec<T, S>
where T::Item: 'a, T::Index: 'a,

Source§

fn as_ref(&self) -> &(dyn Vector<Item = T::Item> + 'a)

Converts this type into a shared reference of the (usually inferred) input type.

Implementations on Foreign Types§

Source§

impl<T> Vector for Vec<T>

Source§

type Item = T

Source§

fn new() -> Self

Source§

fn with_capacity(cap: usize) -> Self

Source§

fn capacity(&self) -> usize

Source§

fn reserve(&mut self, additional: usize)

Source§

fn reserve_exact(&mut self, additional: usize)

Source§

fn shrink_to_fit(&mut self)

Source§

fn into_boxed_slice(self) -> Box<[T]>

Source§

fn truncate(&mut self, len: usize)

Source§

unsafe fn set_len(&mut self, len: usize)

Source§

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

Source§

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

Source§

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

Source§

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

Source§

fn push(&mut self, value: T)

Source§

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

Source§

fn clear(&mut self)

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

fn as_ptr(&self) -> *const T

Source§

fn as_mut_ptr(&mut self) -> *mut T

Source§

fn as_slice(&self) -> &[T]

Source§

fn as_mut_slice(&mut self) -> &mut [T]

Implementors§

Source§

impl<T: Array> Vector for ArrayVec<T>

Source§

type Item = <T as Array>::Item

Source§

impl<T: Array, S: Vector<Item = T::Item> + Spilled<ArrayVec<T>>> Vector for SmallVec<T, S>

Source§

type Item = <T as Array>::Item