Trait functional_vec::FunctionalVec
source · pub trait FunctionalVecwhere
Self: Sized,{
type Item;
Show 24 methods
// Required methods
fn append_new(self, other: Self) -> Self;
fn dedup_new(self) -> Self
where Self::Item: PartialEq;
fn dedup_by_new<F>(self, same_bucket: F) -> Self
where F: FnMut(&mut Self::Item, &mut Self::Item) -> bool;
fn dedup_by_key_new<F, K>(self, same_bucket: F) -> Self
where F: FnMut(&mut Self::Item) -> K,
K: PartialEq<K>;
fn extend_from_slice_new(self, other: &[Self::Item]) -> Self
where Self::Item: Clone;
fn extend_from_within_new<R>(self, src: R) -> Self
where Self::Item: Clone,
R: RangeBounds<usize>;
fn insert_new(self, index: usize, element: Self::Item) -> Self;
fn remove_new(self, index: usize) -> (Self::Item, Self);
fn resize_new(self, new_len: usize, value: Self::Item) -> Self
where Self::Item: Clone;
fn resize_with_new<F>(self, new_len: usize, f: F) -> Self
where F: FnMut() -> Self::Item;
fn reserve_new(self, additional: usize) -> Self;
fn reserve_exact_new(self, additional: usize) -> Self;
fn push_new(self, item: Self::Item) -> Self;
fn pop_new(self) -> (Option<Self::Item>, Self);
fn retain_new<F>(self, f: F) -> Self
where F: FnMut(&Self::Item) -> bool;
fn retain_mut_new<F>(self, f: F) -> Self
where F: FnMut(&mut Self::Item) -> bool;
unsafe fn set_len_new(self, new_len: usize) -> Self;
fn shrink_to_new(self, min_capacity: usize) -> Self;
fn shrink_to_fit_new(self) -> Self;
fn split_off_new(self, at: usize) -> (Self, Self);
fn swap_remove_new(self, index: usize) -> (Self::Item, Self);
fn truncate_new(self, len: usize) -> Self;
fn try_reserve_new(
self,
additional: usize
) -> (Result<(), TryReserveError>, Self);
fn try_reserve_exact_new(
self,
additional: usize
) -> (Result<(), TryReserveError>, Self);
}Required Associated Types§
Required Methods§
fn append_new(self, other: Self) -> Self
fn dedup_new(self) -> Selfwhere Self::Item: PartialEq,
fn dedup_by_new<F>(self, same_bucket: F) -> Selfwhere F: FnMut(&mut Self::Item, &mut Self::Item) -> bool,
fn dedup_by_key_new<F, K>(self, same_bucket: F) -> Selfwhere F: FnMut(&mut Self::Item) -> K, K: PartialEq<K>,
fn extend_from_slice_new(self, other: &[Self::Item]) -> Selfwhere Self::Item: Clone,
fn extend_from_within_new<R>(self, src: R) -> Selfwhere Self::Item: Clone, R: RangeBounds<usize>,
fn insert_new(self, index: usize, element: Self::Item) -> Self
fn remove_new(self, index: usize) -> (Self::Item, Self)
fn resize_new(self, new_len: usize, value: Self::Item) -> Selfwhere Self::Item: Clone,
fn resize_with_new<F>(self, new_len: usize, f: F) -> Selfwhere F: FnMut() -> Self::Item,
fn reserve_new(self, additional: usize) -> Self
fn reserve_exact_new(self, additional: usize) -> Self
fn push_new(self, item: Self::Item) -> Self
fn pop_new(self) -> (Option<Self::Item>, Self)
fn retain_new<F>(self, f: F) -> Selfwhere F: FnMut(&Self::Item) -> bool,
fn retain_mut_new<F>(self, f: F) -> Selfwhere F: FnMut(&mut Self::Item) -> bool,
unsafe fn set_len_new(self, new_len: usize) -> Self
fn shrink_to_new(self, min_capacity: usize) -> Self
fn shrink_to_fit_new(self) -> Self
fn split_off_new(self, at: usize) -> (Self, Self)
fn swap_remove_new(self, index: usize) -> (Self::Item, Self)
fn truncate_new(self, len: usize) -> Self
fn try_reserve_new( self, additional: usize ) -> (Result<(), TryReserveError>, Self)
fn try_reserve_exact_new( self, additional: usize ) -> (Result<(), TryReserveError>, Self)
Implementations on Foreign Types§
source§impl<T: Sized> FunctionalVec for Vec<T>
impl<T: Sized> FunctionalVec for Vec<T>
source§fn push_new(self, item: Self::Item) -> Self
fn push_new(self, item: Self::Item) -> Self
use functional_vec::FunctionalVec;
let v = (0..10).fold(Vec::new(), |acc, curr| acc.push_new(curr));
assert_eq!(v, vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);