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§

source

fn append_new(self, other: Self) -> Self

source

fn dedup_new(self) -> Selfwhere Self::Item: PartialEq,

source

fn dedup_by_new<F>(self, same_bucket: F) -> Selfwhere F: FnMut(&mut Self::Item, &mut Self::Item) -> bool,

source

fn dedup_by_key_new<F, K>(self, same_bucket: F) -> Selfwhere F: FnMut(&mut Self::Item) -> K, K: PartialEq<K>,

source

fn extend_from_slice_new(self, other: &[Self::Item]) -> Selfwhere Self::Item: Clone,

source

fn extend_from_within_new<R>(self, src: R) -> Selfwhere Self::Item: Clone, R: RangeBounds<usize>,

source

fn insert_new(self, index: usize, element: Self::Item) -> Self

source

fn remove_new(self, index: usize) -> (Self::Item, Self)

source

fn resize_new(self, new_len: usize, value: Self::Item) -> Selfwhere Self::Item: Clone,

source

fn resize_with_new<F>(self, new_len: usize, f: F) -> Selfwhere F: FnMut() -> Self::Item,

source

fn reserve_new(self, additional: usize) -> Self

source

fn reserve_exact_new(self, additional: usize) -> Self

source

fn push_new(self, item: Self::Item) -> Self

source

fn pop_new(self) -> (Option<Self::Item>, Self)

source

fn retain_new<F>(self, f: F) -> Selfwhere F: FnMut(&Self::Item) -> bool,

source

fn retain_mut_new<F>(self, f: F) -> Selfwhere F: FnMut(&mut Self::Item) -> bool,

source

unsafe fn set_len_new(self, new_len: usize) -> Self

source

fn shrink_to_new(self, min_capacity: usize) -> Self

source

fn shrink_to_fit_new(self) -> Self

source

fn split_off_new(self, at: usize) -> (Self, Self)

source

fn swap_remove_new(self, index: usize) -> (Self::Item, Self)

source

fn truncate_new(self, len: usize) -> Self

source

fn try_reserve_new( self, additional: usize ) -> (Result<(), TryReserveError>, Self)

source

fn try_reserve_exact_new( self, additional: usize ) -> (Result<(), TryReserveError>, Self)

Implementations on Foreign Types§

source§

impl<T: Sized> FunctionalVec for Vec<T>

source§

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]);
§

type Item = T

source§

fn append_new(self, other: Self) -> Self

source§

fn dedup_new(self) -> Selfwhere T: PartialEq,

source§

fn dedup_by_new<F>(self, same_bucket: F) -> Selfwhere F: FnMut(&mut Self::Item, &mut Self::Item) -> bool,

source§

fn dedup_by_key_new<F, K>(self, same_bucket: F) -> Selfwhere F: FnMut(&mut Self::Item) -> K, K: PartialEq<K>,

source§

fn extend_from_slice_new(self, other: &[Self::Item]) -> Selfwhere T: Clone,

source§

fn extend_from_within_new<R>(self, src: R) -> Selfwhere T: Clone, R: RangeBounds<usize>,

source§

fn insert_new(self, index: usize, element: Self::Item) -> Self

source§

fn remove_new(self, index: usize) -> (Self::Item, Self)

source§

fn resize_new(self, new_len: usize, value: Self::Item) -> Selfwhere Self::Item: Clone,

source§

fn resize_with_new<F>(self, new_len: usize, f: F) -> Selfwhere F: FnMut() -> Self::Item,

source§

fn reserve_new(self, additional: usize) -> Self

source§

fn reserve_exact_new(self, additional: usize) -> Self

source§

fn pop_new(self) -> (Option<Self::Item>, Self)

source§

fn retain_new<F>(self, f: F) -> Selfwhere F: FnMut(&Self::Item) -> bool,

source§

fn retain_mut_new<F>(self, f: F) -> Selfwhere F: FnMut(&mut Self::Item) -> bool,

source§

unsafe fn set_len_new(self, new_len: usize) -> Self

source§

fn shrink_to_new(self, min_capacity: usize) -> Self

source§

fn shrink_to_fit_new(self) -> Self

source§

fn split_off_new(self, at: usize) -> (Self, Self)

source§

fn swap_remove_new(self, index: usize) -> (Self::Item, Self)

source§

fn truncate_new(self, len: usize) -> Self

source§

fn try_reserve_new( self, additional: usize ) -> (Result<(), TryReserveError>, Self)

source§

fn try_reserve_exact_new( self, additional: usize ) -> (Result<(), TryReserveError>, Self)

Implementors§