#[repr(C)]
pub struct ThinVec<T> { /* fields omitted */ }
Expand description
See the crate’s top level documentation for a description of this type.
pub fn push(&mut self, val: T)
Reserve capacity for at least additional more elements to be inserted.
May reserve more space than requested, to avoid frequent reallocations.
Panics if the new capacity overflows usize.
Re-allocates only if self.capacity() < self.len() + additional.
Reserves the minimum capacity for additional more elements to be inserted.
Panics if the new capacity overflows usize.
Re-allocates only if self.capacity() < self.len() + additional.
Retains only the elements specified by the predicate.
In other words, remove all elements e such that f(&e) returns false.
This method operates in place and preserves the order of the retained
elements.
let mut vec = thin_vec![1, 2, 3, 4];
vec.retain(|&x| x%2 == 0);
assert_eq!(vec, [2, 4]);
Removes consecutive elements in the vector that resolve to the same key.
If the vector is sorted, this removes all duplicates.
let mut vec = thin_vec![10, 20, 21, 30, 20];
vec.dedup_by_key(|i| *i / 10);
assert_eq!(vec, [10, 20, 30, 20]);
Removes consecutive elements in the vector according to a predicate.
The same_bucket function is passed references to two elements from the vector, and
returns true if the elements compare equal, or false if they do not. Only the first
of adjacent equal items is kept.
If the vector is sorted, this removes all duplicates.
let mut vec = thin_vec!["foo", "bar", "Bar", "baz", "bar"];
vec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));
assert_eq!(vec, ["foo", "bar", "baz", "bar"]);
Resizes the Vec in-place so that len() is equal to new_len.
If new_len is greater than len(), the Vec is extended by the
difference, with each additional slot filled with value.
If new_len is less than len(), the Vec is simply truncated.
let mut vec = thin_vec!["hello"];
vec.resize(3, "world");
assert_eq!(vec, ["hello", "world", "world"]);
let mut vec = thin_vec![1, 2, 3, 4];
vec.resize(2, 0);
assert_eq!(vec, [1, 2]);
Removes consecutive repeated elements in the vector.
If the vector is sorted, this removes all duplicates.
let mut vec = thin_vec![1, 2, 2, 3, 2];
vec.dedup();
assert_eq!(vec, [1, 2, 3, 2]);
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
The resulting type after dereferencing.
Mutably dereferences the value.
Executes the destructor for this type. Read more
Extends a collection with the contents of an iterator. Read more
🔬 This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
🔬 This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >=
operator. Read more
Write is implemented for ThinVec<u8> by appending to the vector.
The vector will grow as needed.
This implementation is identical to the one for Vec<u8>.
Write a buffer into this writer, returning how many bytes were written. Read more
Attempts to write an entire buffer into this writer. Read more
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
🔬 This is a nightly-only experimental API. (can_vector)
🔬 This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
Writes a formatted string into this writer, returning any error
encountered. Read more
Creates a “by reference” adaptor for this instance of Write. Read more
impl<T> Any for T where
T: 'static + ?Sized,
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
impl<T, U> Into<U> for T where
U: From<T>,
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
The type returned in the event of a conversion error.