pub type Vec1<T> = NonEmpty<Vec<T>>;alloc only.Aliased Type§
pub struct Vec1<T> { /* private fields */ }Implementations§
Source§impl<T> Vec1<T>
impl<T> Vec1<T>
Sourcepub unsafe fn from_vec_unchecked(items: Vec<T>) -> Self
pub unsafe fn from_vec_unchecked(items: Vec<T>) -> Self
§Safety
items must be non-empty. For example, it is unsound to call this function with the
immediate output of Vec::new().
pub fn from_one(item: T) -> Self
pub fn from_one_with_capacity(item: T, capacity: usize) -> Self
pub fn from_iter1_with_capacity<U>(items: U, capacity: usize) -> Selfwhere
U: IntoIterator1<Item = T>,
pub fn from_head_and_tail<I>(head: T, tail: I) -> Selfwhere
I: IntoIterator<Item = T>,
pub fn from_rtail_and_head<I>(tail: I, head: T) -> Selfwhere
I: IntoIterator<Item = T>,
pub fn try_from_ref(items: &Vec<T>) -> Result<&Self, EmptyError<&Vec<T>>>
pub fn try_from_mut( items: &mut Vec<T>, ) -> Result<&mut Self, EmptyError<&mut Vec<T>>>
pub fn into_head_and_tail(self) -> (T, Vec<T>)
pub fn into_rtail_and_head(self) -> (Vec<T>, T)
pub fn into_vec(self) -> Vec<T>
pub fn into_boxed_slice1(self) -> BoxedSlice1<T>
pub fn leak<'a>(self) -> &'a mut Slice1<T>
pub fn try_retain<F>(self, f: F) -> Result<Self, EmptyError<Vec<T>>>
pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
pub fn reserve(&mut self, additional: usize)
pub fn reserve_exact(&mut self, additional: usize)
pub fn shrink_to(&mut self, capacity: usize)
pub fn shrink_to_fit(&mut self)
pub fn split_off_tail(&mut self) -> Vec<T>
pub fn append(&mut self, items: &mut Vec<T>)
pub fn extend_from_slice(&mut self, items: &[T])where
T: Clone,
pub fn extend_from_within<R>(&mut self, range: R)
pub fn push(&mut self, item: T)
pub fn pop_if_many(&mut self) -> PopIfMany<'_, Self>
pub fn pop_if_many_and<F>(&mut self, f: F) -> Option<T>
pub fn insert(&mut self, index: usize, item: T)
pub fn remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
pub fn swap_remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
pub fn dedup(&mut self)where
T: PartialEq,
pub fn dedup_by<F>(&mut self, f: F)
pub fn dedup_by_key<K, F>(&mut self, f: F)
pub fn len(&self) -> NonZeroUsize
pub fn capacity(&self) -> NonZeroUsize
pub const fn as_vec(&self) -> &Vec<T>
Sourcepub const unsafe fn as_mut_vec(&mut self) -> &mut Vec<T>
pub const unsafe fn as_mut_vec(&mut self) -> &mut Vec<T>
§Safety
The Vec behind the returned mutable reference must not be empty when the reference
is dropped. Consider the following example:
use mitsein::prelude::*;
let mut xs = vec1![0i32, 1, 2, 3];
// This block is unsound. The `&mut Vec<_>` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_vec().clear();
}
let x = xs.first(); // Undefined behavior!pub fn as_slice1(&self) -> &Slice1<T>
pub fn as_mut_slice1(&mut self) -> &mut Slice1<T>
pub fn as_ptr(&self) -> *const T
pub fn as_mut_ptr(&mut self) -> *mut T
Methods from Deref<Target = Slice1<T>>§
pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
arrayvec only.pub fn try_extend_from_slice(
&mut self,
items: &[T],
) -> Result<(), CapacityError>where
T: Copy,
arrayvec only.pub fn push(&mut self, item: T)
arrayvec only.pub fn try_push(&mut self, item: T) -> Result<(), CapacityError<T>>
arrayvec only.Sourcepub unsafe fn push_unchecked(&mut self, item: T)
Available on crate feature arrayvec only.
pub unsafe fn push_unchecked(&mut self, item: T)
arrayvec only.§Safety
The ArrayVec1 must have vacancy (available capacity) for the given item. Calling this
function against a saturated ArrayVec1 is undefined behavior.
pub fn pop_if_many(&mut self) -> PopIfMany<'_, Self, N>
arrayvec only.pub fn swap_pop_if_many(&mut self, index: usize) -> SwapPopIfMany<'_, Self, N>
arrayvec only.pub fn insert(&mut self, index: usize, item: T)
arrayvec only.pub fn try_insert( &mut self, index: usize, item: T, ) -> Result<(), CapacityError<T>>
arrayvec only.pub fn remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self, N>
arrayvec only.pub fn swap_remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self, N>
arrayvec only.pub fn len(&self) -> NonZeroUsize
arrayvec only.pub fn capacity(&self) -> NonZeroUsize
arrayvec only.pub fn as_array_vec(&self) -> &ArrayVec<T, N>
arrayvec only.Sourcepub unsafe fn as_mut_array_vec(&mut self) -> &mut ArrayVec<T, N>
Available on crate feature arrayvec only.
pub unsafe fn as_mut_array_vec(&mut self) -> &mut ArrayVec<T, N>
arrayvec only.§Safety
The ArrayVec behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::array_vec1::ArrayVec1;
let mut xs = ArrayVec1::from([0i32, 1, 2, 3]);
// This block is unsound. The `&mut ArrayVec` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_array_vec().clear();
}
let x = xs.first(); // Undefined behavior!pub fn as_slice1(&self) -> &Slice1<T>
arrayvec only.pub fn as_mut_slice1(&mut self) -> &mut Slice1<T>
arrayvec only.pub fn as_ptr(&self) -> *const T
arrayvec only.pub fn as_mut_ptr(&mut self) -> *mut T
arrayvec only.pub fn retain_until_only<F>(&mut self, f: F) -> Option<(&K, &V)>
pub fn split_off_tail(&mut self) -> BTreeMap<K, V>
pub fn append(&mut self, items: &mut BTreeMap<K, V>)where
K: Ord,
pub fn entry(&mut self, key: K) -> Entry<'_, K, V>where
K: Ord,
pub fn insert(&mut self, key: K, value: V) -> Option<V>where
K: Ord,
pub fn pop_first_if_many(&mut self) -> PopIfMany<'_, Self>where
K: Ord,
pub fn pop_first_until_only(&mut self) -> PopFirstUntilOnly<'_, K, V> ⓘwhere
K: Ord,
pub fn pop_last_if_many(&mut self) -> PopIfMany<'_, Self>where
K: Ord,
pub fn pop_last_until_only(&mut self) -> PopLastUntilOnly<'_, K, V> ⓘwhere
K: Ord,
pub fn remove_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> RemoveIfMany<'a, 'q, Self, Q>
pub fn remove_entry_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> RemoveEntryIfMany<'a, 'q, Self, Q>
pub fn get<Q>(&self, query: &Q) -> Option<&V>
pub fn get_key_value<Q>(&self, query: &Q) -> Option<(&K, &V)>
pub fn get_mut<Q>(&mut self, query: &Q) -> Option<&mut V>
pub fn len(&self) -> NonZeroUsize
pub fn first_key_value(&self) -> (&K, &V)where
K: Ord,
pub fn first_entry(&mut self) -> OccupiedEntry<'_, K, V>where
K: Ord,
pub fn last_key_value(&self) -> (&K, &V)where
K: Ord,
pub fn last_entry(&mut self) -> OccupiedEntry<'_, K, V>where
K: Ord,
pub fn iter1(&self) -> Iterator1<Iter<'_, K, V>>
pub fn iter1_mut(&mut self) -> Iterator1<IterMut<'_, K, V>>
pub fn keys1(&self) -> Iterator1<Keys<'_, K, V>>
pub fn values1(&self) -> Iterator1<Values<'_, K, V>>
pub fn values1_mut(&mut self) -> Iterator1<ValuesMut<'_, K, V>>
pub fn contains_key<Q>(&self, query: &Q) -> bool
pub fn as_btree_map(&self) -> &BTreeMap<K, V>
Sourcepub unsafe fn as_mut_btree_map(&mut self) -> &mut BTreeMap<K, V>
pub unsafe fn as_mut_btree_map(&mut self) -> &mut BTreeMap<K, V>
§Safety
The BTreeMap behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::btree_map1::BTreeMap1;
let mut xs = BTreeMap1::from([("a", 0i32), ("b", 1)]);
// This block is unsound. The `&mut BTreeMap` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_btree_map().clear();
}
let x = xs.first_key_value(); // Undefined behavior!pub fn par_iter1( &self, ) -> ParallelIterator1<<&Self as IntoParallelIterator>::Iter>
rayon only.pub fn par_iter1_mut( &mut self, ) -> ParallelIterator1<<&mut Self as IntoParallelIterator>::Iter>
rayon only.pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
pub fn split_off_tail(&mut self) -> BTreeSet<T>
pub fn append(&mut self, items: &mut BTreeSet<T>)where
T: Ord,
pub fn insert(&mut self, item: T) -> boolwhere
T: Ord,
pub fn replace(&mut self, item: T) -> Option<T>where
T: Ord,
pub fn pop_first_if_many(&mut self) -> PopIfMany<'_, Self>where
T: Ord,
pub fn pop_first_until_only(&mut self) -> PopFirstUntilOnly<'_, T> ⓘwhere
T: Ord,
pub fn pop_last_if_many(&mut self) -> PopIfMany<'_, Self>where
T: Ord,
pub fn pop_last_until_only(&mut self) -> PopLastUntilOnly<'_, T> ⓘwhere
T: Ord,
pub fn remove_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> DropRemoveIfMany<'a, 'q, Self, Q>
pub fn take_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> TakeRemoveIfMany<'a, 'q, Self, Q>
pub fn get<Q>(&self, query: &Q) -> Option<&T>
pub fn len(&self) -> NonZeroUsize
pub fn first(&self) -> &Twhere
T: Ord,
pub fn last(&self) -> &Twhere
T: Ord,
pub fn range<Q, R>(&self, range: R) -> Range<'_, T>
pub fn difference<'a, R>(&'a self, other: &'a R) -> Difference<'a, T>where
T: Ord,
R: ClosedBTreeSet<Item = T>,
pub fn symmetric_difference<'a, R>(
&'a self,
other: &'a R,
) -> SymmetricDifference<'a, T>where
T: Ord,
R: ClosedBTreeSet<Item = T>,
pub fn intersection<'a, R>(&'a self, other: &'a R) -> Intersection<'a, T>where
T: Ord,
R: ClosedBTreeSet<Item = T>,
pub fn union<'a, R>(&'a self, other: &'a R) -> Iterator1<Union<'a, T>>where
T: Ord,
R: ClosedBTreeSet<Item = T>,
pub fn iter1(&self) -> Iterator1<Iter<'_, T>>
pub fn is_disjoint<R>(&self, other: &R) -> boolwhere
T: Ord,
R: ClosedBTreeSet<Item = T>,
pub fn is_subset<R>(&self, other: &R) -> boolwhere
T: Ord,
R: ClosedBTreeSet<Item = T>,
pub fn is_superset<R>(&self, other: &R) -> boolwhere
T: Ord,
R: ClosedBTreeSet<Item = T>,
pub fn contains<Q>(&self, key: &Q) -> bool
pub fn as_btree_set(&self) -> &BTreeSet<T>
Sourcepub unsafe fn as_mut_btree_set(&mut self) -> &mut BTreeSet<T>
pub unsafe fn as_mut_btree_set(&mut self) -> &mut BTreeSet<T>
§Safety
The BTreeSet behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::btree_set1::BTreeSet1;
let mut xs = BTreeSet1::from([0i32, 1, 2, 3]);
// This block is unsound. The `&mut BTreeSet` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_btree_set().clear();
}
let x = xs.first(); // Undefined behavior!pub fn par_iter1(
&self,
) -> ParallelIterator1<<&Self as IntoParallelIterator>::Iter>where
T: Sync,
rayon only.pub fn iter1(&self) -> Iterator1<Iter<'_, T>>
std only.pub fn hasher(&self) -> &S
std only.pub fn len(&self) -> NonZeroUsize
std only.pub fn capacity(&self) -> NonZeroUsize
std only.pub fn as_hash_set(&self) -> &HashSet<T, S>
std only.Sourcepub unsafe fn as_mut_hash_set(&mut self) -> &mut HashSet<T, S>
Available on crate feature std only.
pub unsafe fn as_mut_hash_set(&mut self) -> &mut HashSet<T, S>
std only.§Safety
The HashSet behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::hash_set1::HashSet1;
let mut xs = HashSet1::from([0i32, 1, 2, 3]);
// This block is unsound. The `&mut HashSet` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_hash_set().clear();
}
let x = xs.iter1().first(); // Undefined behavior!pub fn par_iter1(
&self,
) -> ParallelIterator1<<&Self as IntoParallelIterator>::Iter>where
T: Sync,
std and rayon only.pub fn extract_until_only_if<'a, F>( &'a mut self, f: F, ) -> impl 'a + Iterator<Item = T>
std only.pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
std only.pub fn insert(&mut self, item: T) -> bool
std only.pub fn replace(&mut self, item: T) -> Option<T>
std only.pub fn remove_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> DropRemoveIfMany<'a, 'q, Self, Q>
std only.pub fn take_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> TakeRemoveIfMany<'a, 'q, Self, Q>
std only.pub fn get<Q>(&self, query: &Q) -> Option<&T>
std only.pub fn difference<'a, R>(&'a self, other: &'a R) -> Difference<'a, T, S>where
R: ClosedHashSet<Item = T, State = S>,
std only.pub fn symmetric_difference<'a, R>(
&'a self,
other: &'a R,
) -> SymmetricDifference<'a, T, S>where
R: ClosedHashSet<Item = T, State = S>,
std only.pub fn intersection<'a, R>(&'a self, other: &'a R) -> Intersection<'a, T, S>where
R: ClosedHashSet<Item = T, State = S>,
std only.pub fn union<'a, R>(&'a self, other: &'a R) -> Iterator1<Union<'a, T, S>>where
R: ClosedHashSet<Item = T, State = S>,
std only.pub fn is_disjoint<R>(&self, other: &R) -> boolwhere
R: ClosedHashSet<Item = T, State = S>,
std only.pub fn is_subset<R>(&self, other: &R) -> boolwhere
R: ClosedHashSet<Item = T, State = S>,
std only.pub fn is_superset<R>(&self, other: &R) -> boolwhere
R: ClosedHashSet<Item = T, State = S>,
std only.pub fn contains<Q>(&self, key: &Q) -> bool
std only.pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
heapless only.pub fn push(&mut self, item: T) -> Result<(), T>
heapless only.Sourcepub unsafe fn push_unchecked(&mut self, item: T)
Available on crate feature heapless only.
pub unsafe fn push_unchecked(&mut self, item: T)
heapless only.§Safety
pub fn pop_if_many(&mut self) -> PopIfMany<'_, Self>
heapless only.pub fn insert(&mut self, index: usize, item: T) -> Result<(), T>
heapless only.pub fn remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
heapless only.pub fn swap_remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
heapless only.pub fn extend_from_slice(&mut self, items: &[T]) -> Result<(), CapacityError>where
T: Clone,
heapless only.pub fn capacity(&self) -> NonZeroUsize
heapless only.pub fn as_slice1(&self) -> &Slice1<T>
heapless only.pub fn as_mut_slice1(&mut self) -> &mut Slice1<T>
heapless only.pub fn as_ptr(&self) -> *const T
heapless only.pub fn as_mut_ptr(&mut self) -> *mut T
heapless only.pub fn is_full(&self) -> bool
heapless only.pub fn as_vec(&self) -> &Vec<T, N>
heapless only.Sourcepub unsafe fn as_mut_vec(&mut self) -> &mut Vec<T, N>
Available on crate feature heapless only.
pub unsafe fn as_mut_vec(&mut self) -> &mut Vec<T, N>
heapless only.§Safety
pub fn as_view1(&self) -> &VecView1<T>
heapless only.pub fn as_mut_view1(&mut self) -> &mut VecView1<T>
heapless only.pub fn as_vec_view(&self) -> &VecView<T>
heapless only.Sourcepub unsafe fn as_mut_vec_view(&mut self) -> &mut VecView<T>
Available on crate feature heapless only.
pub unsafe fn as_mut_vec_view(&mut self) -> &mut VecView<T>
heapless only.§Safety
pub fn split_first(&self) -> ((&K, &V), &Slice<K, V>)
indexmap only.pub fn split_last(&self) -> ((&K, &V), &Slice<K, V>)
indexmap only.pub fn first(&self) -> (&K, &V)
indexmap only.pub fn last(&self) -> (&K, &V)
indexmap only.pub fn iter1(&self) -> Iterator1<Iter<'_, K, V>>
indexmap only.pub fn len(&self) -> NonZeroUsize
indexmap only.pub fn split_off_tail(&mut self) -> IndexMap<K, V, S>where
S: Clone,
indexmap only.pub fn reverse(&mut self)
indexmap only.pub fn sort_keys(&mut self)where
K: Ord,
indexmap only.pub fn sort_unstable_keys(&mut self)where
K: Ord,
indexmap only.pub fn sort_by<F>(&mut self, f: F)
indexmap only.pub fn sort_unstable_by<F>(&mut self, f: F)
indexmap only.pub fn sort_by_cached_key<T, F>(&mut self, f: F)
indexmap only.pub fn move_index(&mut self, from: usize, to: usize)
indexmap only.pub fn swap_indices(&mut self, a: usize, b: usize)
indexmap only.pub fn get_index(&self, index: usize) -> Option<(&K, &V)>
indexmap only.pub fn get_index_mut(&mut self, index: usize) -> Option<(&K, &mut V)>
indexmap only.pub fn get_index_entry( &mut self, index: usize, ) -> Option<IndexedEntry<'_, K, V>>
indexmap only.pub fn get_range<R>(&self, range: R) -> Option<&Slice<K, V>>where
R: RangeBounds<usize>,
indexmap only.pub fn get_range_mut<R>(&mut self, range: R) -> Option<&mut Slice<K, V>>where
R: RangeBounds<usize>,
indexmap only.pub fn binary_search_keys(&self, key: &K) -> Result<usize, usize>where
K: Ord,
indexmap only.pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
indexmap only.pub fn binary_search_by_key<'a, Q, F>( &'a self, query: &Q, f: F, ) -> Result<usize, usize>
indexmap only.pub fn partition_point<F>(&self, f: F) -> usize
indexmap only.pub fn iter1(&self) -> Iterator1<Iter<'_, K, V>>
indexmap only.pub fn iter1_mut(&mut self) -> Iterator1<IterMut<'_, K, V>>
indexmap only.pub fn keys1(&self) -> Iterator1<Keys<'_, K, V>>
indexmap only.pub fn values1(&self) -> Iterator1<Values<'_, K, V>>
indexmap only.pub fn values1_mut(&mut self) -> Iterator1<ValuesMut<'_, K, V>>
indexmap only.pub fn len(&self) -> NonZeroUsize
indexmap only.pub fn capacity(&self) -> NonZeroUsize
indexmap only.pub fn hasher(&self) -> &S
indexmap only.pub fn as_index_map(&self) -> &IndexMap<K, V, S>
indexmap only.Sourcepub unsafe fn as_mut_index_map(&mut self) -> &mut IndexMap<K, V, S>
Available on crate feature indexmap only.
pub unsafe fn as_mut_index_map(&mut self) -> &mut IndexMap<K, V, S>
indexmap only.§Safety
The IndexMap behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::index_map1::IndexMap1;
let mut xs = IndexMap1::from([("a", 0i32), ("b", 1)]);
// This block is unsound. The `&mut IndexMap` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_index_map().clear();
}
let x = xs.first(); // Undefined behavior!pub fn as_slice1(&self) -> &Slice1<K, V>
indexmap only.pub fn as_mut_slice1(&mut self) -> &mut Slice1<K, V>
indexmap only.pub fn pop_if_many(&mut self) -> PopIfMany<'_, Self>
indexmap only.pub fn shift_remove_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> RemoveIfMany<'a, 'q, Self, Q>
indexmap only.pub fn swap_remove_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> RemoveIfMany<'a, 'q, Self, Q>
indexmap only.pub fn shift_remove_entry_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> RemoveEntryIfMany<'a, 'q, Self, Q>
indexmap only.pub fn swap_remove_entry_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> RemoveEntryIfMany<'a, 'q, Self, Q>
indexmap only.pub fn get<Q>(&self, query: &Q) -> Option<&V>
indexmap only.pub fn get_mut<Q>(&mut self, query: &Q) -> Option<&mut V>
indexmap only.pub fn get_key_value<Q>(&self, query: &Q) -> Option<(&K, &V)>
indexmap only.pub fn get_full<Q>(&self, query: &Q) -> Option<(usize, &K, &V)>
indexmap only.pub fn get_full_mut<Q>(&mut self, query: &Q) -> Option<(usize, &K, &mut V)>
indexmap only.pub fn get_index_of<Q>(&self, query: &Q) -> Option<usize>
indexmap only.pub fn first(&self) -> (&K, &V)
indexmap only.pub fn first_mut(&mut self) -> (&K, &mut V)
indexmap only.pub fn first_entry(&mut self) -> IndexedEntry<'_, K, V>
indexmap only.pub fn last(&self) -> (&K, &V)
indexmap only.pub fn last_mut(&mut self) -> (&K, &mut V)
indexmap only.pub fn last_entry(&mut self) -> IndexedEntry<'_, K, V>
indexmap only.pub fn contains_key<Q>(&self, query: &Q) -> bool
indexmap only.pub fn append<SR>(&mut self, items: &mut IndexMap<K, V, SR>)
indexmap only.pub fn entry(&mut self, key: K) -> Entry<'_, K, V>
indexmap only.pub fn insert(&mut self, key: K, value: V) -> Option<V>
indexmap only.pub fn insert_full(&mut self, key: K, value: V) -> (usize, Option<V>)
indexmap only.pub fn insert_sorted(&mut self, key: K, value: V) -> (usize, Option<V>)where
K: Ord,
indexmap only.pub fn insert_before( &mut self, index: usize, key: K, value: V, ) -> (usize, Option<V>)
indexmap only.pub fn shift_insert(&mut self, index: usize, key: K, value: V) -> Option<V>
indexmap only.pub fn par_sort_keys(&mut self)
indexmap and rayon only.pub fn par_sort_unstable_keys(&mut self)
indexmap and rayon only.pub fn par_sort_by<F>(&mut self, f: F)
indexmap and rayon only.pub fn par_sort_unstable_by<F>(&mut self, f: F)
indexmap and rayon only.pub fn par_sort_by_cached_key<T, F>(&mut self, f: F)
indexmap and rayon only.pub fn par_iter1( &self, ) -> ParallelIterator1<<&Self as IntoParallelIterator>::Iter>
indexmap and rayon only.pub fn par_iter1_mut( &mut self, ) -> ParallelIterator1<<&mut Self as IntoParallelIterator>::Iter>
indexmap and rayon only.pub fn par_keys1(&self) -> ParallelIterator1<ParKeys<'_, K, V>>
indexmap and rayon only.pub fn par_values1(&self) -> ParallelIterator1<ParValues<'_, K, V>>
indexmap and rayon only.pub fn par_values1_mut(&mut self) -> ParallelIterator1<ParValuesMut<'_, K, V>>
indexmap and rayon only.pub fn par_eq<R>(&self, other: &R) -> boolwhere
K: Eq + Hash + Sync,
V: PartialEq<R::Value> + Sync,
S: BuildHasher,
R: ClosedIndexMap<Key = K>,
R::Value: Sync,
R::State: BuildHasher + Sync,
indexmap and rayon only.pub fn split_first(&self) -> (&T, &Slice<T>)
indexmap only.pub fn split_last(&self) -> (&T, &Slice<T>)
indexmap only.pub fn first(&self) -> &T
indexmap only.pub fn last(&self) -> &T
indexmap only.pub fn iter1(&self) -> Iterator1<Iter<'_, T>>
indexmap only.pub fn len(&self) -> NonZeroUsize
indexmap only.pub fn reserve(&mut self, additional: usize)
indexmap only.pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>
indexmap only.pub fn reserve_exact(&mut self, additional: usize)
indexmap only.pub fn try_reserve_exact( &mut self, additional: usize, ) -> Result<(), TryReserveError>
indexmap only.pub fn shrink_to(&mut self, capacity: usize)
indexmap only.pub fn shrink_to_fit(&mut self)
indexmap only.pub fn sort(&mut self)where
T: Ord,
indexmap only.pub fn sort_by<F>(&mut self, f: F)
indexmap only.pub fn sort_unstable(&mut self)where
T: Ord,
indexmap only.pub fn sort_unstable_by<F>(&mut self, f: F)
indexmap only.pub fn sort_by_cached_key<K, F>(&mut self, f: F)
indexmap only.pub fn reverse(&mut self)
indexmap only.pub fn split_off_tail(&mut self) -> IndexSet<T, S>where
S: Clone,
indexmap only.pub fn move_index(&mut self, from: usize, to: usize)
indexmap only.pub fn swap_indices(&mut self, a: usize, b: usize)
indexmap only.pub fn pop_if_many(&mut self) -> PopIfMany<'_, Self>
indexmap only.pub fn shift_remove_index_if_many( &mut self, index: usize, ) -> TakeRemoveIfMany<'_, Self>
indexmap only.pub fn swap_remove_index_if_many( &mut self, index: usize, ) -> TakeRemoveIfMany<'_, Self>
indexmap only.pub fn get_index(&self, index: usize) -> Option<&T>
indexmap only.pub fn get_range<R>(&self, range: R) -> Option<&Slice<T>>where
R: RangeBounds<usize>,
indexmap only.pub fn binary_search(&self, query: &T) -> Result<usize, usize>where
T: Ord,
indexmap only.pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
indexmap only.pub fn binary_search_by_key<'a, K, F>( &'a self, key: &K, f: F, ) -> Result<usize, usize>
indexmap only.pub fn partition_point<F>(&self, f: F) -> usize
indexmap only.pub fn first(&self) -> &T
indexmap only.pub fn last(&self) -> &T
indexmap only.pub fn len(&self) -> NonZeroUsize
indexmap only.pub fn capacity(&self) -> NonZeroUsize
indexmap only.pub fn iter1(&self) -> Iterator1<Iter<'_, T>>
indexmap only.pub fn hasher(&self) -> &S
indexmap only.pub fn as_index_set(&self) -> &IndexSet<T, S>
indexmap only.Sourcepub unsafe fn as_mut_index_set(&mut self) -> &mut IndexSet<T, S>
Available on crate feature indexmap only.
pub unsafe fn as_mut_index_set(&mut self) -> &mut IndexSet<T, S>
indexmap only.§Safety
The IndexSet behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::index_set1::IndexSet1;
let mut xs = IndexSet1::from([0i32, 1, 2, 3]);
// This block is unsound. The `&mut IndexSet` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_index_set().clear();
}
let x = xs.first(); // Undefined behavior!pub fn as_slice1(&self) -> &Slice1<T>
indexmap only.pub fn get<Q>(&self, query: &Q) -> Option<&T>
indexmap only.pub fn shift_remove_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> DropRemoveIfMany<'a, 'q, Self, Q>
indexmap only.pub fn swap_remove_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> DropRemoveIfMany<'a, 'q, Self, Q>
indexmap only.pub fn shift_remove_full_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> TakeRemoveFullIfMany<'a, 'q, Self, Q>
indexmap only.pub fn swap_remove_full_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> TakeRemoveFullIfMany<'a, 'q, Self, Q>
indexmap only.pub fn shift_take_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> TakeRemoveIfMany<'a, Self, &'q Q>
indexmap only.pub fn swap_take_if_many<'a, 'q, Q>( &'a mut self, query: &'q Q, ) -> TakeRemoveIfMany<'a, Self, &'q Q>
indexmap only.pub fn contains<Q>(&self, item: &Q) -> bool
indexmap only.pub fn append<SR>(&mut self, items: &mut IndexSet<T, SR>)
indexmap only.pub fn insert(&mut self, item: T) -> bool
indexmap only.pub fn insert_full(&mut self, item: T) -> (usize, bool)
indexmap only.pub fn insert_sorted(&mut self, item: T) -> (usize, bool)where
T: Ord,
indexmap only.pub fn replace(&mut self, item: T) -> Option<T>
indexmap only.pub fn replace_full(&mut self, item: T) -> (usize, Option<T>)
indexmap only.pub fn difference<'a, R, SR>(&'a self, other: &'a R) -> Difference<'a, T, SR>where
R: ClosedIndexSet<Item = T, State = SR>,
SR: BuildHasher,
indexmap only.pub fn symmetric_difference<'a, R, SR>(
&'a self,
other: &'a R,
) -> SymmetricDifference<'a, T, S, SR>where
R: ClosedIndexSet<Item = T, State = SR>,
SR: BuildHasher,
indexmap only.pub fn intersection<'a, R, SR>(
&'a self,
other: &'a R,
) -> Intersection<'a, T, SR>where
R: ClosedIndexSet<Item = T, State = SR>,
SR: BuildHasher,
indexmap only.pub fn union<'a, R, SR>(&'a self, other: &'a R) -> Iterator1<Union<'a, T, S>>where
R: ClosedIndexSet<Item = T, State = SR>,
SR: 'a + BuildHasher,
indexmap only.pub fn is_disjoint<R, SR>(&self, other: &R) -> boolwhere
R: ClosedIndexSet<Item = T, State = SR>,
SR: BuildHasher,
indexmap only.pub fn is_subset<R, SR>(&self, other: &R) -> boolwhere
R: ClosedIndexSet<Item = T, State = SR>,
SR: BuildHasher,
indexmap only.pub fn is_superset<R, SR>(&self, other: &R) -> boolwhere
R: ClosedIndexSet<Item = T, State = SR>,
SR: BuildHasher,
indexmap only.pub fn par_iter1( &self, ) -> ParallelIterator1<<&Self as IntoParallelIterator>::Iter>
indexmap and rayon only.pub fn par_difference<'a, R, SR>( &'a self, other: &'a R, ) -> ParDifference<'a, T, S, SR>
indexmap and rayon only.pub fn par_symmetric_difference<'a, R, SR>( &'a self, other: &'a R, ) -> ParSymmetricDifference<'a, T, S, SR>
indexmap and rayon only.pub fn par_intersection<'a, R, SR>( &'a self, other: &'a R, ) -> ParIntersection<'a, T, S, SR>
indexmap and rayon only.pub fn par_union<'a, R, SR>( &'a self, other: &'a R, ) -> ParallelIterator1<ParUnion<'a, T, S, SR>>
indexmap and rayon only.pub fn par_eq<R, SR>(&self, other: &R) -> bool
indexmap and rayon only.pub fn par_is_disjoint<R, SR>(&self, other: &R) -> bool
indexmap and rayon only.pub fn par_is_subset<R, SR>(&self, other: &R) -> bool
indexmap and rayon only.pub fn par_is_superset<R, SR>(&self, other: &R) -> bool
indexmap and rayon only.pub fn par_sort(&mut self)where
T: Ord,
indexmap and rayon only.pub fn par_sort_by<F>(&mut self, f: F)
indexmap and rayon only.pub fn par_sort_unstable(&mut self)where
T: Ord,
indexmap and rayon only.pub fn par_sort_unstable_by<F>(&mut self, f: F)
indexmap and rayon only.pub fn par_sort_by_cached_key<K, F>(&mut self, f: F)
indexmap and rayon only.pub fn to_vec1(&self) -> Vec1<T> ⓘwhere
T: Clone,
pub fn into_vec1(self: BoxedSlice1<T>) -> Vec1<T> ⓘ
pub fn once_and_then_repeat(&self, n: usize) -> Vec1<T> ⓘwhere
T: Copy,
pub fn split_first(&self) -> (&T, &[T])
pub fn split_first_mut(&mut self) -> (&mut T, &mut [T])
pub fn first(&self) -> &T
pub fn first_mut(&mut self) -> &mut T
pub fn last(&self) -> &T
pub fn last_mut(&mut self) -> &mut T
pub fn chunks1(&self, n: usize) -> Iterator1<Chunks<'_, T>>
pub fn chunks1_mut(&mut self, n: usize) -> Iterator1<ChunksMut<'_, T>>
pub fn rchunks1(&self, n: usize) -> Iterator1<RChunks<'_, T>>
pub fn rchunks1_mut(&mut self, n: usize) -> Iterator1<RChunksMut<'_, T>>
pub fn iter1(&self) -> Iterator1<Iter<'_, T>>
pub fn iter1_mut(&mut self) -> Iterator1<IterMut<'_, T>>
pub fn len(&self) -> NonZeroUsize
pub fn as_slice(&self) -> &[T]
pub fn as_mut_slice(&mut self) -> &mut [T]
pub fn par_iter1(
&self,
) -> ParallelIterator1<<&Self as IntoParallelIterator>::Iter>where
T: Sync,
rayon only.pub fn par_iter1_mut(
&mut self,
) -> ParallelIterator1<<&mut Self as IntoParallelIterator>::Iter>where
T: Send,
rayon only.pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
smallvec only.pub fn reserve(&mut self, additional: usize)
smallvec only.pub fn reserve_exact(&mut self, additional: usize)
smallvec only.pub fn shrink_to_fit(&mut self)
smallvec only.pub fn append(&mut self, items: &mut SmallVec<A>)
smallvec only.pub fn extend_from_slice(&mut self, items: &[T])where
T: Copy,
smallvec only.pub fn push(&mut self, item: T)
smallvec only.pub fn pop_if_many(&mut self) -> PopIfMany<'_, Self>
smallvec only.pub fn insert(&mut self, index: usize, item: T)
smallvec only.pub fn insert_from_slice(&mut self, index: usize, items: &[T])where
T: Copy,
smallvec only.pub fn remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
smallvec only.pub fn swap_remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
smallvec only.pub fn dedup(&mut self)where
T: PartialEq,
smallvec only.pub fn dedup_by<F>(&mut self, f: F)
smallvec only.pub fn dedup_by_key<K, F>(&mut self, f: F)
smallvec only.pub fn len(&self) -> NonZeroUsize
smallvec only.pub fn capacity(&self) -> NonZeroUsize
smallvec only.pub fn inline_size(&self) -> usize
smallvec only.pub fn as_small_vec(&self) -> &SmallVec<A>
smallvec only.Sourcepub unsafe fn as_mut_small_vec(&mut self) -> &mut SmallVec<A>
Available on crate feature smallvec only.
pub unsafe fn as_mut_small_vec(&mut self) -> &mut SmallVec<A>
smallvec only.§Safety
The SmallVec behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::small_vec1::SmallVec1;
let mut xs = SmallVec1::from([0i32, 1, 2, 3]);
// This block is unsound. The `&mut SmallVec` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_small_vec().clear();
}
let x = xs.first(); // Undefined behavior!pub fn as_slice1(&self) -> &Slice1<T>
smallvec only.pub fn as_mut_slice1(&mut self) -> &mut Slice1<T>
smallvec only.pub fn as_ptr(&self) -> *const T
smallvec only.pub fn as_mut_ptr(&mut self) -> *mut T
smallvec only.pub fn spilled(&self) -> bool
smallvec only.pub fn to_string1(&self) -> String1
pub fn into_string1(self: BoxedStr1) -> String1
pub fn once_and_then_repeat(&self, n: usize) -> String1
pub fn encode1_utf16(&self) -> Iterator1<EncodeUtf16<'_>>
pub fn split1<'a, P>( &'a self, separator: &'a P, ) -> Iterator1<Split<'a, &'a [char]>>
pub fn split1_inclusive<'a, P>( &'a self, separator: &'a P, ) -> Iterator1<SplitInclusive<'a, &'a [char]>>
pub fn split1_terminator<'a, P>( &'a self, separator: &'a P, ) -> Iterator1<SplitTerminator<'a, &'a [char]>>
pub fn chars1(&self) -> Iterator1<Chars<'_>>
pub fn char_indices1(&self) -> Iterator1<CharIndices<'_>>
pub fn bytes1(&self) -> Iterator1<Bytes<'_>>
pub fn lines1(&self) -> Iterator1<Lines<'_>>
pub fn len(&self) -> NonZeroUsize
pub fn as_bytes1(&self) -> &Slice1<u8>
pub fn as_bytes1_mut(&mut self) -> &mut Slice1<u8>
pub fn as_str(&self) -> &str
pub fn as_mut_str(&mut self) -> &mut str
pub fn par_encode1_utf16(&self) -> ParallelIterator1<EncodeUtf16<'_>>
rayon only.pub fn par_split1<'a, P>( &'a self, separator: &'a P, ) -> ParallelIterator1<Split<'a, &'a [char]>>
rayon only.pub fn par_split1_inclusive<'a, P>( &'a self, separator: &'a P, ) -> ParallelIterator1<SplitInclusive<'a, &'a [char]>>
rayon only.pub fn par_split1_terminator<'a, P>( &'a self, separator: &'a P, ) -> ParallelIterator1<SplitTerminator<'a, &'a [char]>>
rayon only.pub fn par_chars1(&self) -> ParallelIterator1<Chars<'_>>
rayon only.pub fn par_char_indices1(&self) -> ParallelIterator1<CharIndices<'_>>
rayon only.pub fn par_bytes1(&self) -> ParallelIterator1<Bytes<'_>>
rayon only.pub fn par_lines1(&self) -> ParallelIterator1<Lines<'_>>
rayon only.pub fn reserve(&mut self, additional: usize)
pub fn reserve_exact(&mut self, additional: usize)
pub fn shrink_to(&mut self, capacity: usize)
pub fn shrink_to_fit(&mut self)
pub fn split_off_tail(&mut self) -> String
pub fn push(&mut self, item: char)
pub fn push_str(&mut self, items: &str)
pub fn pop_if_many(&mut self) -> PopIfMany<'_>
pub fn insert(&mut self, index: usize, item: char)
pub fn remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_>
pub fn len(&self) -> NonZeroUsize
pub fn capacity(&self) -> NonZeroUsize
pub fn as_string(&self) -> &String
Sourcepub unsafe fn as_mut_string(&mut self) -> &mut String
pub unsafe fn as_mut_string(&mut self) -> &mut String
§Safety
The String behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::string1::String1;
let mut xs = String1::try_from("abc").unwrap();
// This block is unsound. The `&mut String` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_string().clear();
}
let x = xs.as_bytes1().first(); // Undefined behavior!Sourcepub unsafe fn as_mut_vec1(&mut self) -> &mut Vec1<u8> ⓘ
pub unsafe fn as_mut_vec1(&mut self) -> &mut Vec1<u8> ⓘ
pub fn as_str1(&self) -> &Str1
pub fn as_mut_str1(&mut self) -> &mut Str1
pub fn as_ptr(&self) -> *const u8
pub fn as_mut_ptr(&mut self) -> *mut u8
pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
pub fn reserve(&mut self, additional: usize)
pub fn reserve_exact(&mut self, additional: usize)
pub fn shrink_to(&mut self, capacity: usize)
pub fn shrink_to_fit(&mut self)
pub fn split_off_tail(&mut self) -> Vec<T>
pub fn append(&mut self, items: &mut Vec<T>)
pub fn extend_from_slice(&mut self, items: &[T])where
T: Clone,
pub fn extend_from_within<R>(&mut self, range: R)
pub fn push(&mut self, item: T)
pub fn pop_if_many(&mut self) -> PopIfMany<'_, Self>
pub fn pop_if_many_and<F>(&mut self, f: F) -> Option<T>
pub fn insert(&mut self, index: usize, item: T)
pub fn remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
pub fn swap_remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
pub fn dedup(&mut self)where
T: PartialEq,
pub fn dedup_by<F>(&mut self, f: F)
pub fn dedup_by_key<K, F>(&mut self, f: F)
pub fn len(&self) -> NonZeroUsize
pub fn capacity(&self) -> NonZeroUsize
pub fn as_vec(&self) -> &Vec<T>
Sourcepub unsafe fn as_mut_vec(&mut self) -> &mut Vec<T>
pub unsafe fn as_mut_vec(&mut self) -> &mut Vec<T>
§Safety
The Vec behind the returned mutable reference must not be empty when the reference
is dropped. Consider the following example:
use mitsein::prelude::*;
let mut xs = vec1![0i32, 1, 2, 3];
// This block is unsound. The `&mut Vec<_>` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_vec().clear();
}
let x = xs.first(); // Undefined behavior!pub fn as_slice1(&self) -> &Slice1<T>
pub fn as_mut_slice1(&mut self) -> &mut Slice1<T>
pub fn as_ptr(&self) -> *const T
pub fn as_mut_ptr(&mut self) -> *mut T
pub fn retain_until_only<F>(&mut self, f: F) -> Option<&T>
pub fn shrink_to(&mut self, capacity: usize)
pub fn shrink_to_fit(&mut self)
pub fn make_contiguous(&mut self) -> &mut Slice1<T>
pub fn rotate_left(&mut self, n: usize)
pub fn rotate_right(&mut self, n: usize)
pub fn split_off_tail(&mut self) -> VecDeque<T>
pub fn append(&mut self, items: &mut VecDeque<T>)
pub fn push_front(&mut self, item: T)
pub fn push_back(&mut self, item: T)
pub fn pop_front_if_many(&mut self) -> PopIfMany<'_, Self>
pub fn pop_back_if_many(&mut self) -> PopIfMany<'_, Self>
pub fn insert(&mut self, index: usize, item: T)
pub fn remove_if_many(&mut self, index: usize) -> RemoveIfMany<'_, Self>
pub fn swap_remove_front_if_many( &mut self, index: usize, ) -> RemoveIfMany<'_, Self>
pub fn swap_remove_back_if_many( &mut self, index: usize, ) -> RemoveIfMany<'_, Self>
pub fn get(&self, index: usize) -> Option<&T>
pub fn get_mut(&mut self, index: usize) -> Option<&mut T>
pub fn len(&self) -> NonZeroUsize
pub fn capacity(&self) -> NonZeroUsize
pub fn front(&self) -> &T
pub fn front_mut(&mut self) -> &mut T
pub fn back(&self) -> &T
pub fn back_mut(&mut self) -> &mut T
pub fn iter1(&self) -> Iterator1<Iter<'_, T>>
pub fn iter1_mut(&mut self) -> Iterator1<IterMut<'_, T>>
pub fn as_vec_deque(&self) -> &VecDeque<T>
Sourcepub unsafe fn as_mut_vec_deque(&mut self) -> &mut VecDeque<T>
pub unsafe fn as_mut_vec_deque(&mut self) -> &mut VecDeque<T>
§Safety
The VecDeque behind the returned mutable reference must not be empty when the
reference is dropped. Consider the following example:
use mitsein::vec_deque1::VecDeque1;
let mut xs = VecDeque1::from([0i32, 1, 2, 3]);
// This block is unsound. The `&mut VecDeque<_>` is dropped in the block and so `xs` can be
// freely manipulated after the block despite violation of the non-empty guarantee.
unsafe {
xs.as_mut_vec_deque().clear();
}
let x = xs.front(); // Undefined behavior!pub fn par_iter1(
&self,
) -> ParallelIterator1<<&Self as IntoParallelIterator>::Iter>where
T: Sync,
rayon only.pub fn par_iter1_mut(
&mut self,
) -> ParallelIterator1<<&mut Self as IntoParallelIterator>::Iter>where
T: Send,
rayon only.Trait Implementations§
Source§impl<'a, T> Arbitrary<'a> for Vec1<T>where
T: Arbitrary<'a>,
Available on crate feature arbitrary only.
impl<'a, T> Arbitrary<'a> for Vec1<T>where
T: Arbitrary<'a>,
arbitrary only.Source§fn arbitrary(unstructured: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(unstructured: &mut Unstructured<'a>) -> Result<Self>
Self from the given unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured this type
needs to construct itself. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Self from the entirety of the given
unstructured data. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured this type
needs to construct itself. Read moreSource§impl<T> BorrowMut<[T]> for Vec1<T>
impl<T> BorrowMut<[T]> for Vec1<T>
Source§fn borrow_mut(&mut self) -> &mut [T]
fn borrow_mut(&mut self) -> &mut [T]
Source§impl<T> BorrowMut<NonEmpty<[T]>> for Vec1<T>
impl<T> BorrowMut<NonEmpty<[T]>> for Vec1<T>
Source§fn borrow_mut(&mut self) -> &mut Slice1<T>
fn borrow_mut(&mut self) -> &mut Slice1<T>
Source§impl<T, R> ByRange<usize, R> for Vec1<T>where
R: RangeBounds<usize>,
impl<T, R> ByRange<usize, R> for Vec1<T>where
R: RangeBounds<usize>,
Source§type Error = RangeError<usize>
type Error = RangeError<usize>
alloc or arrayvec or heapless only.Source§impl<T> ByTail for Vec1<T>
impl<T> ByTail for Vec1<T>
Source§impl<'a, T> Extend<&'a T> for Vec1<T>where
T: 'a + Copy,
impl<'a, T> Extend<&'a T> for Vec1<T>where
T: 'a + Copy,
Source§fn extend<I>(&mut self, extension: I)where
I: IntoIterator<Item = &'a T>,
fn extend<I>(&mut self, extension: I)where
I: IntoIterator<Item = &'a T>,
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl<T> Extend<T> for Vec1<T>
impl<T> Extend<T> for Vec1<T>
Source§fn extend<I>(&mut self, extension: I)where
I: IntoIterator<Item = T>,
fn extend<I>(&mut self, extension: I)where
I: IntoIterator<Item = T>,
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl<T> From<Box<NonEmpty<[T]>>> for Vec1<T>
impl<T> From<Box<NonEmpty<[T]>>> for Vec1<T>
Source§fn from(items: BoxedSlice1<T>) -> Self
fn from(items: BoxedSlice1<T>) -> Self
Source§impl<T> FromIterator1<T> for Vec1<T>
impl<T> FromIterator1<T> for Vec1<T>
fn from_iter1<I>(items: I) -> Selfwhere
I: IntoIterator1<Item = T>,
fn try_from_iter<I>(items: I) -> Result<Self, EmptyError<Peekable<I::IntoIter>>>where
Self: Sized,
I: IntoIterator<Item = T>,
Source§impl<T> FromParallelIterator1<T> for Vec1<T>where
T: Send,
Available on crate feature rayon only.
impl<T> FromParallelIterator1<T> for Vec1<T>where
T: Send,
rayon only.fn from_par_iter1<I>(items: I) -> Selfwhere
I: IntoParallelIterator1<Item = T>,
Source§impl<'a, T> IntoIterator for &'a Vec1<T>
impl<'a, T> IntoIterator for &'a Vec1<T>
Source§impl<'a, T> IntoIterator for &'a mut Vec1<T>
impl<'a, T> IntoIterator for &'a mut Vec1<T>
Source§impl<T> IntoIterator for Vec1<T>
impl<T> IntoIterator for Vec1<T>
Source§impl<T> IntoIterator1 for &Vec1<T>
impl<T> IntoIterator1 for &Vec1<T>
fn into_iter1(self) -> Iterator1<Self::IntoIter>
Source§impl<T> IntoIterator1 for &mut Vec1<T>
impl<T> IntoIterator1 for &mut Vec1<T>
fn into_iter1(self) -> Iterator1<Self::IntoIter>
Source§impl<T> IntoIterator1 for Vec1<T>
impl<T> IntoIterator1 for Vec1<T>
fn into_iter1(self) -> Iterator1<Self::IntoIter>
Source§impl<'a, T> IntoParallelIterator for &'a Vec1<T>where
T: Sync,
Available on crate feature rayon only.
impl<'a, T> IntoParallelIterator for &'a Vec1<T>where
T: Sync,
rayon only.Source§impl<'a, T> IntoParallelIterator for &'a mut Vec1<T>where
T: Send,
Available on crate feature rayon only.
impl<'a, T> IntoParallelIterator for &'a mut Vec1<T>where
T: Send,
rayon only.Source§impl<T> IntoParallelIterator for Vec1<T>where
T: Send,
Available on crate feature rayon only.
impl<T> IntoParallelIterator for Vec1<T>where
T: Send,
rayon only.Source§impl<T> IntoParallelIterator1 for &Vec1<T>where
T: Sync,
Available on crate feature rayon only.
impl<T> IntoParallelIterator1 for &Vec1<T>where
T: Sync,
rayon only.fn into_par_iter1(self) -> ParallelIterator1<Self::Iter>
Source§impl<T> IntoParallelIterator1 for &mut Vec1<T>where
T: Send,
Available on crate feature rayon only.
impl<T> IntoParallelIterator1 for &mut Vec1<T>where
T: Send,
rayon only.fn into_par_iter1(self) -> ParallelIterator1<Self::Iter>
Source§impl<T> IntoParallelIterator1 for Vec1<T>where
T: Send,
Available on crate feature rayon only.
impl<T> IntoParallelIterator1 for Vec1<T>where
T: Send,
rayon only.fn into_par_iter1(self) -> ParallelIterator1<Self::Iter>
Source§impl<T> JsonSchema for Vec1<T>where
T: JsonSchema,
Available on crate feature schemars only.
impl<T> JsonSchema for Vec1<T>where
T: JsonSchema,
schemars only.Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl<T> Segmentation for Vec1<T>
impl<T> Segmentation for Vec1<T>
Source§impl Write for Vec1<u8>
Available on crate feature std only.
impl Write for Vec1<u8>
std only.Source§fn write(&mut self, buffer: &[u8]) -> Result<usize>
fn write(&mut self, buffer: &[u8]) -> Result<usize>
Source§fn write_all(&mut self, buffer: &[u8]) -> Result<()>
fn write_all(&mut self, buffer: &[u8]) -> Result<()>
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored)