Struct tsil_cev::TsilCev [−][src]
Implementations
impl<T> TsilCev<T>
[src]
pub fn with_capacity(cap: usize) -> Self
[src]
Constructs a new, empty TsilCev
with the specified capacity
like in Vec
.
use tsil_cev::TsilCev; let tc = TsilCev::<()>::with_capacity(4); assert_eq!(tc.len(), 0); assert_eq!(tc.capacity(), 4);
pub const fn new() -> Self
[src]
Constructs a new, empty TsilCev
.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); assert_eq!(tc.len(), 0); assert_eq!(tc.capacity(), 0); tc.push_back(5); assert_eq!(tc.len(), 1); assert!(tc.capacity() >= 1);
pub fn clear(&mut self)
[src]
Deletes all values from TsilCev
like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3]); assert_eq!(tc.len(), 4); assert!(tc.capacity() >= 4); tc.clear(); assert_eq!(tc.len(), 0);
pub fn iter_tsil(&self) -> TsilIter<'_, T>ⓘ
[src]
Returns Tsil
iterator. Iterating as in LinkedList
.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_back(10); tc.push_front(0); let mut cev_iter = tc.iter_tsil(); assert_eq!(cev_iter.next(), Some(&0)); assert_eq!(cev_iter.next(), Some(&10)); assert_eq!(cev_iter.next(), None);
pub fn iter_tsil_mut(&mut self) -> TsilIterMut<'_, T>ⓘNotable traits for TsilIterMut<'t, T>
impl<'t, T: 't> Iterator for TsilIterMut<'t, T> type Item = &'t mut T;
[src]
Notable traits for TsilIterMut<'t, T>
impl<'t, T: 't> Iterator for TsilIterMut<'t, T> type Item = &'t mut T;
Returns Tsil
iterator. Iterating as in LinkedList
that allows
modifying each value.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_back(10); tc.push_front(0); for x in tc.iter_tsil_mut() { *x *= 20; } assert_eq!(tc.into_vec(), &[0, 200]);
pub fn iter_cev(&self) -> CevIter<'_, T>ⓘ
[src]
Returns Cev
iterator. Iterating as in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_back(10); tc.push_front(0); let mut cev_iter = tc.iter_cev(); assert_eq!(cev_iter.next(), Some(&10)); assert_eq!(cev_iter.next(), Some(&0)); assert_eq!(cev_iter.next(), None);
pub fn iter_cev_mut(&mut self) -> CevIterMut<'_, T>ⓘNotable traits for CevIterMut<'t, T>
impl<'t, T: 't> Iterator for CevIterMut<'t, T> type Item = &'t mut T;
[src]
Notable traits for CevIterMut<'t, T>
impl<'t, T: 't> Iterator for CevIterMut<'t, T> type Item = &'t mut T;
Returns Cev
iterator. Iterating as in Vec that allows modifying
each value.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_back(10); tc.push_front(0); for x in tc.iter_cev_mut() { *x *= 20; } assert_eq!(tc.into_vec(), &[0, 200]);
pub fn drain_filter_tsil<F>(&mut self, pred: F) -> DrainFilterTsil<'_, T, F>ⓘNotable traits for DrainFilterTsil<'_, T, F>
impl<T, F> Iterator for DrainFilterTsil<'_, T, F> where
F: FnMut(&mut T) -> bool, type Item = T;
where
F: FnMut(&mut T) -> bool,
[src]
Notable traits for DrainFilterTsil<'_, T, F>
impl<T, F> Iterator for DrainFilterTsil<'_, T, F> where
F: FnMut(&mut T) -> bool, type Item = T;
F: FnMut(&mut T) -> bool,
Creates an Tsil
iterator which uses a mutate closure to determine
if an element should be removed like in LinkedList
.
If the closure returns true, then the element is removed and yielded.
If the closure returns false, the element will remain in the TsilCev
and will not be yielded
by the iterator.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_front(4); tc.push_front(3); tc.push_front(2); tc.push_front(1); tc.push_front(0); tc.push_back(5); tc.push_back(6); tc.push_back(7); tc.push_back(8); tc.push_back(9); let less_eq_four = tc.drain_filter_tsil(|x| *x <= 4).collect::<Vec<_>>(); assert_eq!(less_eq_four, &[0, 1, 2, 3, 4]); // note the order of the sequence (Tsil iterator) assert_eq!(tc.into_vec(), &[5, 6, 7, 8, 9]);
pub fn drain_filter_cev<F>(&mut self, pred: F) -> DrainFilterCev<'_, T, F>ⓘNotable traits for DrainFilterCev<'_, T, F>
impl<T, F> Iterator for DrainFilterCev<'_, T, F> where
F: FnMut(&mut T) -> bool, type Item = T;
where
F: FnMut(&mut T) -> bool,
[src]
Notable traits for DrainFilterCev<'_, T, F>
impl<T, F> Iterator for DrainFilterCev<'_, T, F> where
F: FnMut(&mut T) -> bool, type Item = T;
F: FnMut(&mut T) -> bool,
More efficient then drain_filter_tsil because use Cev
iterator.
But the iteration order is not the same as in LinkedList
.
Creates an Cev
iterator which uses a mutate closure to determine
if an element should be removed like in Vec
.
If the closure returns true, then the element is removed and yielded.
If the closure returns false, the element will remain in the TsilCev
and will not be yielded
by the iterator.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_front(4); tc.push_front(3); tc.push_front(2); tc.push_front(1); tc.push_front(0); tc.push_back(5); tc.push_back(6); tc.push_back(7); tc.push_back(8); tc.push_back(9); let less_eq_four = tc.drain_filter_cev(|x| *x <= 4).collect::<Vec<_>>(); assert_eq!(less_eq_four, &[4, 3, 2, 1, 0]); // note the order of the sequence (Cev iterator) assert_eq!(tc.into_vec(), &[5, 6, 7, 8, 9]);
pub fn front(&self) -> Option<&T>
[src]
Returns reference to the front (start) element or None
if TsilCev
is empty like in LinkedList
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert_eq!(tc.front(), Some(&0)); assert_eq!(TsilCev::<()>::new().front(), None);
pub fn back(&self) -> Option<&T>
[src]
Returns reference to the back (end) element or None
if TsilCev
is
empty like in LinkedList
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert_eq!(tc.back(), Some(&4)); assert_eq!(TsilCev::<()>::new().back(), None);
pub fn front_mut(&mut self) -> Option<&mut T>
[src]
Returns mutable reference to the front (start) element or None
if
TsilCev
is empty like in LinkedList
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); match tc.front_mut() { Some(x) => *x = 10, None => {}, } assert_eq!(tc.front(), Some(&10)); assert_eq!(TsilCev::<()>::new().front(), None);
pub fn back_mut(&mut self) -> Option<&mut T>
[src]
Returns mutable reference to the back (end) element or None
if
TsilCev
is empty like in LinkedList
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); match tc.back_mut() { Some(x) => *x = 14, None => {}, } assert_eq!(tc.back(), Some(&14)); assert_eq!(TsilCev::<()>::new().back(), None);
pub fn cursor_front(&self) -> Cursor<'_, T>
[src]
Returns cursor to the front (start) element.
use tsil_cev::TsilCev; let tc = TsilCev::from(vec![0, 1, 2, 3, 4]); let cursor = tc.cursor_front(); assert_eq!(cursor.current(), tc.front());
pub fn cursor_back(&self) -> Cursor<'_, T>
[src]
Returns cursor to the end (back) element.
use tsil_cev::TsilCev; let tc = TsilCev::from(vec![0, 1, 2, 3, 4]); let cursor = tc.cursor_back(); assert_eq!(cursor.current(), tc.back());
pub fn cursor_front_mut(&mut self) -> CursorMut<'_, T>
[src]
Returns mutable cursor to the front (start) element.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); let mut cursor = tc.cursor_front_mut(); if let Some(x) = cursor.current_mut() { *x = 14; } assert_eq!(cursor.current(), Some(&14)); assert_eq!(tc.into_vec(), &[14, 1, 2, 3, 4]);
pub fn cursor_back_mut(&mut self) -> CursorMut<'_, T>
[src]
Returns mutable cursor to the back (end) element.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); let mut cursor = tc.cursor_back_mut(); if let Some(x) = cursor.current_mut() { *x = 14; } assert_eq!(cursor.current(), Some(&14)); assert_eq!(tc.into_vec(), &[0, 1, 2, 3, 14]);
pub fn cursor_idx_tsil(&self, idx: usize) -> Cursor<'_, T>
[src]
Returns cursor to the element with LinkedList
order.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_front(3); tc.push_front(2); tc.push_front(1); tc.push_back(4); assert_eq!(tc.cursor_idx_tsil(0).current(), Some(&1)); assert_eq!(tc.cursor_idx_tsil(1).current(), Some(&2)); assert_eq!(tc.cursor_idx_tsil(2).current(), Some(&3)); assert_eq!(tc.cursor_idx_tsil(3).current(), Some(&4));
pub fn cursor_idx_tsil_mut(&mut self, idx: usize) -> CursorMut<'_, T>
[src]
Returns mutable cursor to the element with LinkedList
order.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_front(3); tc.push_front(2); tc.push_front(1); tc.push_back(4); *tc.cursor_idx_tsil_mut(0).current_mut().unwrap() = 0; *tc.cursor_idx_tsil_mut(1).current_mut().unwrap() = 0; *tc.cursor_idx_tsil_mut(2).current_mut().unwrap() = 0; *tc.cursor_idx_tsil_mut(3).current_mut().unwrap() = 1; assert_eq!(tc.cursor_idx_tsil_mut(0).current(), Some(&0)); assert_eq!(tc.cursor_idx_tsil_mut(1).current(), Some(&0)); assert_eq!(tc.cursor_idx_tsil_mut(2).current(), Some(&0)); assert_eq!(tc.cursor_idx_tsil_mut(3).current(), Some(&1));
pub fn into_vec(self) -> Vec<T>
[src]
Transform TsilCev
to Vec
with LinkedList
order.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_front(3); tc.push_front(2); tc.push_front(1); tc.push_back(4); assert_eq!(tc.into_vec(), vec![1, 2, 3, 4]);
pub fn make_linked_list_order(&mut self)
[src]
Places elements inside TsilCev
in the order
of LinkedList
without using additional memory.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_front(3); tc.push_front(2); tc.push_front(1); tc.push_back(4); tc.make_linked_list_order(); assert_eq!(tc.iter_cev().copied().collect::<Vec<_>>(), vec![1, 2, 3, 4]);
pub fn sort_by(&mut self, mut cmp: impl FnMut(&T, &T) -> Ordering)
[src]
Sorts the slice with a comparator function like in Vec
.
This sort is stable (i.e., does not reorder equal elements) and O(n * log(n))
worst-case.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![5, 4, 1, 3, 2]); tc.sort_by(|a, b| a.cmp(b)); assert_eq!(tc.to_vec(), &[1, 2, 3, 4, 5]); // reverse sorting tc.sort_by(|a, b| b.cmp(a)); assert_eq!(tc.to_vec(), &[5, 4, 3, 2, 1]);
pub fn sort_by_key<K: Ord>(&mut self, mut f: impl FnMut(&T) -> K)
[src]
Sorts the slice with a key extraction function like in Vec
.
This sort is stable (i.e., does not reorder equal elements) and O(m * n * log(n))
worst-case, where the key function is O(m)
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![-5i32, 4, 1, -3, 2]); tc.sort_by_key(|k| k.abs()); assert_eq!(tc.to_vec(), &[1, 2, -3, 4, -5]);
pub fn sort_by_cached_key<K: Ord>(&mut self, mut f: impl FnMut(&T) -> K)
[src]
Sorts the slice with a key extraction function like in Vec
.
During sorting, the key function is called only once per element.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![-5i32, 4, 32, -3, 2]); tc.sort_by_cached_key(|k| k.to_string()); assert_eq!(tc.to_vec(), &[-3, -5, 2, 32, 4]);
pub fn sort_unstable_by(&mut self, mut cmp: impl FnMut(&T, &T) -> Ordering)
[src]
Sorts the slice with a comparator function, but may not preserve the order of equal
elements like in Vec
.
This sort is unstable (i.e., may reorder equal elements), in-place
(i.e., does not allocate), and O(n * log(n)) worst-case.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![5, 4, 1, 3, 2]); tc.sort_unstable_by(|a, b| a.cmp(b)); assert_eq!(tc.to_vec(), &[1, 2, 3, 4, 5]); // reverse sorting tc.sort_unstable_by(|a, b| b.cmp(a)); assert_eq!(tc.to_vec(), &[5, 4, 3, 2, 1]);
pub fn sort_unstable_by_key<K: Ord>(&mut self, mut f: impl FnMut(&T) -> K)
[src]
Sorts the slice with a key extraction function, but may not preserve the order of equal
elements like in Vec
.
This sort is unstable (i.e., may reorder equal elements), in-place
(i.e., does not allocate), and O(m * n * log(n)) worst-case, where the key function is
O(m).
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![-5i32, 4, 1, -3, 2]); tc.sort_unstable_by_key(|k| k.abs()); assert_eq!(tc.to_vec(), &[1, 2, -3, 4, -5]);
pub fn reserve(&mut self, additional: usize)
[src]
Reserves capacity for at least additional
more elements to be
inserted like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert_eq!(tc.len(), 5); assert!(tc.capacity() >= 5); tc.reserve(10); assert_eq!(tc.len(), 5); assert!(tc.capacity() >= 15);
pub fn reserve_exact(&mut self, additional: usize)
[src]
Reserves the minimum capacity for exactly additional
more elements to
be inserted in the given TsilCev
like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert_eq!(tc.len(), 5); assert!(tc.capacity() >= 5); tc.reserve_exact(10); assert_eq!(tc.len(), 5); assert!(tc.capacity() >= 15);
pub fn shrink_to_fit(&mut self)
[src]
Shrinks the capacity of the TsilCev
as much as possible like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert!(tc.capacity() >= 5); tc.shrink_to_fit(); assert_eq!(tc.capacity(), 5);
pub fn capacity(&self) -> usize
[src]
Returns the number of elements the TsilCev
can hold without
reallocating like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert!(tc.capacity() >= 5);
pub fn len(&self) -> usize
[src]
Returns the number of elements in the TsilCev
like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert_eq!(tc.capacity(), 5);
pub fn is_empty(&self) -> bool
[src]
Returns true
if the TsilCev
contains no elements like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert_eq!(tc.is_empty(), false); tc.clear(); assert_eq!(tc.is_empty(), true);
pub fn push_back(&mut self, val: T)
[src]
Appends an element to the back (end) of a TsilCev
like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); tc.push_back(5); assert_eq!(tc.into_vec(), &[0, 1, 2, 3, 4, 5]);
pub fn pop_back(&mut self) -> Option<T>
[src]
Removes the last element from a TsilCev
and returns it, or None
if it
is empty like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); tc.pop_back(); assert_eq!(tc.into_vec(), &[0, 1, 2, 3]);
pub fn push_front(&mut self, val: T)
[src]
Appends an element to the front (start) of a TsilCev
like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); tc.push_front(5); assert_eq!(tc.into_vec(), &[5, 0, 1, 2, 3, 4]);
pub fn pop_front(&mut self) -> Option<T>
[src]
Removes the first element from a TsilCev
and returns it, or None
if it
is empty like in Vec
.
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); tc.pop_front(); assert_eq!(tc.into_vec(), &[1, 2, 3, 4]);
impl<T: Clone> TsilCev<T>
[src]
pub fn to_vec(&self) -> Vec<T>
[src]
Copies TsilCev
into a new Vec
with LinkedList
order.
use tsil_cev::TsilCev; let mut tc = TsilCev::new(); tc.push_front(3); tc.push_front(2); tc.push_front(1); tc.push_back(4); assert_eq!(tc.to_vec(), vec![1, 2, 3, 4]);
Trait Implementations
impl<T: Clone> Clone for TsilCev<T>
[src]
fn clone(&self) -> TsilCev<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug> Debug for TsilCev<T>
[src]
impl<T: Default> Default for TsilCev<T>
[src]
impl<T: Eq> Eq for TsilCev<T>
[src]
impl<'t, T: 't + Copy> Extend<&'t T> for TsilCev<T>
[src]
fn extend<I: IntoIterator<Item = &'t T>>(&mut self, iter: I)
[src]
pub fn extend_one(&mut self, item: A)
[src]
pub fn extend_reserve(&mut self, additional: usize)
[src]
impl<T> Extend<T> for TsilCev<T>
[src]
fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)
[src]
use tsil_cev::TsilCev; let mut tc = TsilCev::from(vec![0, 1, 2, 3, 4]); tc.extend((5..=10).into_iter()); assert_eq!(tc.into_vec(), &[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); let mut tc = TsilCev::new(); tc.extend((0..=4).into_iter()); assert_eq!(tc.into_vec(), TsilCev::from(vec![0, 1, 2, 3, 4]).into_vec());
pub fn extend_one(&mut self, item: A)
[src]
pub fn extend_reserve(&mut self, additional: usize)
[src]
impl<T: Clone> From<&'_ [T]> for TsilCev<T>
[src]
fn from(slice: &[T]) -> Self
[src]
use tsil_cev::TsilCev; let tc = TsilCev::from(vec![0, 1, 2, 3, 4].as_slice()); assert_eq!(tc.front(), Some(&0)); assert_eq!(tc.back(), Some(&4)); assert_eq!(tc.into_vec(), &[0, 1, 2, 3, 4]);
impl<T: Clone> From<&'_ Vec<T, Global>> for TsilCev<T>
[src]
fn from(vec: &Vec<T>) -> Self
[src]
use tsil_cev::TsilCev; let tc = TsilCev::from(&vec![0, 1, 2, 3, 4]); assert_eq!(tc.front(), Some(&0)); assert_eq!(tc.back(), Some(&4)); assert_eq!(tc.into_vec(), &[0, 1, 2, 3, 4]);
impl<T> From<Vec<T, Global>> for TsilCev<T>
[src]
fn from(vec: Vec<T>) -> Self
[src]
use tsil_cev::TsilCev; let tc = TsilCev::from(vec![0, 1, 2, 3, 4]); assert_eq!(tc.front(), Some(&0)); assert_eq!(tc.back(), Some(&4)); assert_eq!(tc.into_vec(), &[0, 1, 2, 3, 4]);
impl<T> FromIterator<T> for TsilCev<T>
[src]
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
[src]
use tsil_cev::TsilCev; let tc = (0..=4).into_iter().map(|x| x).collect::<TsilCev<_>>(); assert_eq!(tc.into_vec(), &[0, 1, 2, 3, 4]);
impl<T: Hash> Hash for TsilCev<T>
[src]
fn hash<H: Hasher>(&self, state: &mut H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T> IntoIterator for TsilCev<T>
[src]
type Item = T
The type of the elements being iterated over.
type IntoIter = TsilIntoIter<T>
Which kind of iterator are we turning this into?
fn into_iter(self) -> TsilIntoIter<T>ⓘNotable traits for TsilIntoIter<T>
impl<T> Iterator for TsilIntoIter<T> type Item = T;
[src]
Notable traits for TsilIntoIter<T>
impl<T> Iterator for TsilIntoIter<T> type Item = T;
impl<'t, T> IntoIterator for &'t TsilCev<T>
[src]
type Item = &'t T
The type of the elements being iterated over.
type IntoIter = TsilIter<'t, T>
Which kind of iterator are we turning this into?
fn into_iter(self) -> TsilIter<'t, T>ⓘ
[src]
impl<'t, T> IntoIterator for &'t mut TsilCev<T>
[src]
type Item = &'t mut T
The type of the elements being iterated over.
type IntoIter = TsilIterMut<'t, T>
Which kind of iterator are we turning this into?
fn into_iter(self) -> TsilIterMut<'t, T>ⓘNotable traits for TsilIterMut<'t, T>
impl<'t, T: 't> Iterator for TsilIterMut<'t, T> type Item = &'t mut T;
[src]
Notable traits for TsilIterMut<'t, T>
impl<'t, T: 't> Iterator for TsilIterMut<'t, T> type Item = &'t mut T;
impl<T: Ord> Ord for TsilCev<T>
[src]
fn cmp(&self, other: &Self) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<T: PartialEq> PartialEq<TsilCev<T>> for TsilCev<T>
[src]
impl<T: PartialOrd> PartialOrd<TsilCev<T>> for TsilCev<T>
[src]
Auto Trait Implementations
impl<T> Send for TsilCev<T> where
T: Send,
[src]
T: Send,
impl<T> Sync for TsilCev<T> where
T: Sync,
[src]
T: Sync,
impl<T> Unpin for TsilCev<T> where
T: Unpin,
[src]
T: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,