[−][src]Struct smallvec::SmallVec
A Vec
-like container that can store a small number of elements inline.
SmallVec
acts like a vector, but can store a limited amount of data inline within the
Smallvec
struct rather than in a separate allocation. If the data exceeds this limit, the
SmallVec
will "spill" its data onto the heap, allocating a new buffer to hold it.
The amount of data that a SmallVec
can store inline depends on its backing store. The backing
store can be any type that implements the Array
trait; usually it is a small fixed-sized
array. For example a SmallVec<[u64; 8]>
can hold up to eight 64-bit integers inline.
Example
use smallvec::SmallVec; let mut v = SmallVec::<[u8; 4]>::new(); // initialize an empty vector // The vector can hold up to 4 items without spilling onto the heap. v.extend(0..4); assert_eq!(v.len(), 4); assert!(!v.spilled()); // Pushing another element will force the buffer to spill: v.push(4); assert_eq!(v.len(), 5); assert!(v.spilled());
Methods
impl<A: Array> SmallVec<A>
[src]
impl<A: Array> SmallVec<A>
ⓘImportant traits for SmallVec<A>pub fn new() -> SmallVec<A>
[src]
pub fn new() -> SmallVec<A>
Construct an empty vector
pub fn with_capacity(n: usize) -> Self
[src]
pub fn with_capacity(n: usize) -> Self
Construct an empty vector with enough capacity pre-allocated to store at least n
elements.
Will create a heap allocation only if n
is larger than the inline capacity.
let v: SmallVec<[u8; 3]> = SmallVec::with_capacity(100); assert!(v.is_empty()); assert!(v.capacity() >= 100);
ⓘImportant traits for SmallVec<A>pub fn from_vec(vec: Vec<A::Item>) -> SmallVec<A>
[src]
pub fn from_vec(vec: Vec<A::Item>) -> SmallVec<A>
Construct a new SmallVec
from a Vec<A::Item>
.
Elements will be copied to the inline buffer if vec.capacity() <= A::size().
use smallvec::SmallVec; let vec = vec![1, 2, 3, 4, 5]; let small_vec: SmallVec<[_; 3]> = SmallVec::from_vec(vec); assert_eq!(&*small_vec, &[1, 2, 3, 4, 5]);
ⓘImportant traits for SmallVec<A>pub fn from_buf(buf: A) -> SmallVec<A>
[src]
pub fn from_buf(buf: A) -> SmallVec<A>
Constructs a new SmallVec
on the stack from an A
without
copying elements.
use smallvec::SmallVec; let buf = [1, 2, 3, 4, 5]; let small_vec: SmallVec<_> = SmallVec::from_buf(buf); assert_eq!(&*small_vec, &[1, 2, 3, 4, 5]);
ⓘImportant traits for SmallVec<A>pub fn from_buf_and_len(buf: A, len: usize) -> SmallVec<A>
[src]
pub fn from_buf_and_len(buf: A, len: usize) -> SmallVec<A>
Constructs a new SmallVec
on the stack from an A
without
copying elements. Also sets the length, which must be less or
equal to the size of buf
.
use smallvec::SmallVec; let buf = [1, 2, 3, 4, 5, 0, 0, 0]; let small_vec: SmallVec<_> = SmallVec::from_buf_and_len(buf, 5); assert_eq!(&*small_vec, &[1, 2, 3, 4, 5]);
ⓘImportant traits for SmallVec<A>pub unsafe fn from_buf_and_len_unchecked(buf: A, len: usize) -> SmallVec<A>
[src]
pub unsafe fn from_buf_and_len_unchecked(buf: A, len: usize) -> SmallVec<A>
Constructs a new SmallVec
on the stack from an A
without
copying elements. Also sets the length. The user is responsible
for ensuring that len <= A::size()
.
use smallvec::SmallVec; let buf = [1, 2, 3, 4, 5, 0, 0, 0]; let small_vec: SmallVec<_> = unsafe { SmallVec::from_buf_and_len_unchecked(buf, 5) }; assert_eq!(&*small_vec, &[1, 2, 3, 4, 5]);
pub unsafe fn set_len(&mut self, new_len: usize)
[src]
pub unsafe fn set_len(&mut self, new_len: usize)
Sets the length of a vector.
This will explicitly set the size of the vector, without actually modifying its buffers, so it is up to the caller to ensure that the vector is actually the specified size.
pub fn inline_size(&self) -> usize
[src]
pub fn inline_size(&self) -> usize
The maximum number of elements this vector can hold inline
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
The number of elements stored in the vector
pub fn is_empty(&self) -> bool
[src]
pub fn is_empty(&self) -> bool
Returns true
if the vector is empty
pub fn capacity(&self) -> usize
[src]
pub fn capacity(&self) -> usize
The number of items the vector can hold without reallocating
pub fn spilled(&self) -> bool
[src]
pub fn spilled(&self) -> bool
Returns true
if the data has spilled into a separate heap-allocated buffer.
ⓘImportant traits for Drain<'a, T>pub fn drain(&mut self) -> Drain<A::Item>
[src]
pub fn drain(&mut self) -> Drain<A::Item>
Empty the vector and return an iterator over its former contents.
pub fn push(&mut self, value: A::Item)
[src]
pub fn push(&mut self, value: A::Item)
Append an item to the vector.
pub fn pop(&mut self) -> Option<A::Item>
[src]
pub fn pop(&mut self) -> Option<A::Item>
Remove an item from the end of the vector and return it, or None if empty.
pub fn grow(&mut self, new_cap: usize)
[src]
pub fn grow(&mut self, new_cap: usize)
Re-allocate to set the capacity to max(new_cap, inline_size())
.
Panics if new_cap
is less than the vector's length.
pub fn reserve(&mut self, additional: usize)
[src]
pub fn reserve(&mut self, additional: usize)
Reserve capacity for additional
more elements to be inserted.
May reserve more space to avoid frequent reallocations.
If the new capacity would overflow usize
then it will be set to usize::max_value()
instead. (This means that inserting additional
new elements is not guaranteed to be
possible after calling this function.)
pub fn reserve_exact(&mut self, additional: usize)
[src]
pub fn reserve_exact(&mut self, additional: usize)
Reserve the minumum capacity for additional
more elements to be inserted.
Panics if the new capacity overflows usize
.
pub fn shrink_to_fit(&mut self)
[src]
pub fn shrink_to_fit(&mut self)
Shrink the capacity of the vector as much as possible.
When possible, this will move data from an external heap buffer to the vector's inline storage.
pub fn truncate(&mut self, len: usize)
[src]
pub fn truncate(&mut self, len: usize)
Shorten the vector, keeping the first len
elements and dropping the rest.
If len
is greater than or equal to the vector's current length, this has no
effect.
This does not re-allocate. If you want the vector's capacity to shrink, call
shrink_to_fit
after truncating.
pub fn as_slice(&self) -> &[A::Item]
[src]
pub fn as_slice(&self) -> &[A::Item]
Extracts a slice containing the entire vector.
Equivalent to &s[..]
.
pub fn as_mut_slice(&mut self) -> &mut [A::Item]
[src]
pub fn as_mut_slice(&mut self) -> &mut [A::Item]
Extracts a mutable slice of the entire vector.
Equivalent to &mut s[..]
.
pub fn swap_remove(&mut self, index: usize) -> A::Item
[src]
pub fn swap_remove(&mut self, index: usize) -> A::Item
Remove the element at position index
, replacing it with the last element.
This does not preserve ordering, but is O(1).
Panics if index
is out of bounds.
pub fn clear(&mut self)
[src]
pub fn clear(&mut self)
Remove all elements from the vector.
pub fn remove(&mut self, index: usize) -> A::Item
[src]
pub fn remove(&mut self, index: usize) -> A::Item
Remove and return the element at position index
, shifting all elements after it to the
left.
Panics if index
is out of bounds.
pub fn insert(&mut self, index: usize, element: A::Item)
[src]
pub fn insert(&mut self, index: usize, element: A::Item)
Insert an element at position index
, shifting all elements after it to the right.
Panics if index
is out of bounds.
pub fn insert_many<I: IntoIterator<Item = A::Item>>(
&mut self,
index: usize,
iterable: I
)
[src]
pub fn insert_many<I: IntoIterator<Item = A::Item>>(
&mut self,
index: usize,
iterable: I
)
Insert multiple elements at position index
, shifting all following elements toward the
back.
pub fn into_vec(self) -> Vec<A::Item>
[src]
pub fn into_vec(self) -> Vec<A::Item>
Convert a SmallVec to a Vec, without reallocating if the SmallVec has already spilled onto the heap.
pub fn into_inner(self) -> Result<A, Self>
[src]
pub fn into_inner(self) -> Result<A, Self>
Convert the SmallVec into an A
if possible. Otherwise return Err(Self)
.
This method returns Err(Self)
if the SmallVec is too short (and the A
contains uninitialized elements),
or if the SmallVec is too long (and all the elements were spilled to the heap).
pub fn retain<F: FnMut(&mut A::Item) -> bool>(&mut self, f: F)
[src]
pub fn retain<F: FnMut(&mut A::Item) -> bool>(&mut self, f: F)
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.
pub fn dedup(&mut self) where
A::Item: PartialEq<A::Item>,
[src]
pub fn dedup(&mut self) where
A::Item: PartialEq<A::Item>,
Removes consecutive duplicate elements.
pub fn dedup_by<F>(&mut self, same_bucket: F) where
F: FnMut(&mut A::Item, &mut A::Item) -> bool,
[src]
pub fn dedup_by<F>(&mut self, same_bucket: F) where
F: FnMut(&mut A::Item, &mut A::Item) -> bool,
Removes consecutive duplicate elements using the given equality relation.
pub fn dedup_by_key<F, K>(&mut self, key: F) where
F: FnMut(&mut A::Item) -> K,
K: PartialEq<K>,
[src]
pub fn dedup_by_key<F, K>(&mut self, key: F) where
F: FnMut(&mut A::Item) -> K,
K: PartialEq<K>,
Removes consecutive elements that map to the same key.
impl<A: Array> SmallVec<A> where
A::Item: Copy,
[src]
impl<A: Array> SmallVec<A> where
A::Item: Copy,
pub fn from_slice(slice: &[A::Item]) -> Self
[src]
pub fn from_slice(slice: &[A::Item]) -> Self
Copy the elements from a slice into a new SmallVec
.
For slices of Copy
types, this is more efficient than SmallVec::from(slice)
.
pub fn insert_from_slice(&mut self, index: usize, slice: &[A::Item])
[src]
pub fn insert_from_slice(&mut self, index: usize, slice: &[A::Item])
Copy elements from a slice into the vector at position index
, shifting any following
elements toward the back.
For slices of Copy
types, this is more efficient than insert
.
pub fn extend_from_slice(&mut self, slice: &[A::Item])
[src]
pub fn extend_from_slice(&mut self, slice: &[A::Item])
Copy elements from a slice and append them to the vector.
For slices of Copy
types, this is more efficient than extend
.
impl<A: Array> SmallVec<A> where
A::Item: Clone,
[src]
impl<A: Array> SmallVec<A> where
A::Item: Clone,
pub fn resize(&mut self, len: usize, value: A::Item)
[src]
pub fn resize(&mut self, len: usize, value: A::Item)
Resizes the vector so that its length is equal to len
.
If len
is less than the current length, the vector simply truncated.
If len
is greater than the current length, value
is appended to the
vector until its length equals len
.
pub fn from_elem(elem: A::Item, n: usize) -> Self
[src]
pub fn from_elem(elem: A::Item, n: usize) -> Self
Creates a SmallVec
with n
copies of elem
.
use smallvec::SmallVec; let v = SmallVec::<[char; 128]>::from_elem('d', 2); assert_eq!(v, SmallVec::from_buf(['d', 'd']));
Trait Implementations
impl<A: Array> VecLike<<A as Array>::Item> for SmallVec<A>
[src]
impl<A: Array> VecLike<<A as Array>::Item> for SmallVec<A>
fn push(&mut self, value: A::Item)
[src]
fn push(&mut self, value: A::Item)
: Use Extend
and Deref<[T]>
instead
Append an element to the vector.
impl<A: Array> ExtendFromSlice<<A as Array>::Item> for SmallVec<A> where
A::Item: Copy,
[src]
impl<A: Array> ExtendFromSlice<<A as Array>::Item> for SmallVec<A> where
A::Item: Copy,
fn extend_from_slice(&mut self, other: &[A::Item])
[src]
fn extend_from_slice(&mut self, other: &[A::Item])
Extends a collection from a slice of its element type
impl<A: Array> AsMut<[<A as Array>::Item]> for SmallVec<A>
[src]
impl<A: Array> AsMut<[<A as Array>::Item]> for SmallVec<A>
impl<A: Array> PartialOrd<SmallVec<A>> for SmallVec<A> where
A::Item: PartialOrd,
[src]
impl<A: Array> PartialOrd<SmallVec<A>> for SmallVec<A> where
A::Item: PartialOrd,
fn partial_cmp(&self, other: &SmallVec<A>) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &SmallVec<A>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<A: Array> Default for SmallVec<A>
[src]
impl<A: Array> Default for SmallVec<A>
ⓘImportant traits for SmallVec<A>fn default() -> SmallVec<A>
[src]
fn default() -> SmallVec<A>
Returns the "default value" for a type. Read more
impl<A: Array> Ord for SmallVec<A> where
A::Item: Ord,
[src]
impl<A: Array> Ord for SmallVec<A> where
A::Item: Ord,
fn cmp(&self, other: &SmallVec<A>) -> Ordering
[src]
fn cmp(&self, other: &SmallVec<A>) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl<A: Array, B: Array> PartialEq<SmallVec<B>> for SmallVec<A> where
A::Item: PartialEq<B::Item>,
[src]
impl<A: Array, B: Array> PartialEq<SmallVec<B>> for SmallVec<A> where
A::Item: PartialEq<B::Item>,
fn eq(&self, other: &SmallVec<B>) -> bool
[src]
fn eq(&self, other: &SmallVec<B>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &SmallVec<B>) -> bool
[src]
fn ne(&self, other: &SmallVec<B>) -> bool
This method tests for !=
.
impl<'a, A: Array> From<&'a [<A as Array>::Item]> for SmallVec<A> where
A::Item: Clone,
[src]
impl<'a, A: Array> From<&'a [<A as Array>::Item]> for SmallVec<A> where
A::Item: Clone,
ⓘImportant traits for SmallVec<A>fn from(slice: &'a [A::Item]) -> SmallVec<A>
[src]
fn from(slice: &'a [A::Item]) -> SmallVec<A>
Performs the conversion.
impl<A: Array> From<Vec<<A as Array>::Item>> for SmallVec<A>
[src]
impl<A: Array> From<Vec<<A as Array>::Item>> for SmallVec<A>
ⓘImportant traits for SmallVec<A>fn from(vec: Vec<A::Item>) -> SmallVec<A>
[src]
fn from(vec: Vec<A::Item>) -> SmallVec<A>
Performs the conversion.
impl<A: Array> From<A> for SmallVec<A>
[src]
impl<A: Array> From<A> for SmallVec<A>
impl<A: Array> AsRef<[<A as Array>::Item]> for SmallVec<A>
[src]
impl<A: Array> AsRef<[<A as Array>::Item]> for SmallVec<A>
impl<A: Array> Send for SmallVec<A> where
A::Item: Send,
[src]
impl<A: Array> Send for SmallVec<A> where
A::Item: Send,
impl<A: Array> Clone for SmallVec<A> where
A::Item: Clone,
[src]
impl<A: Array> Clone for SmallVec<A> where
A::Item: Clone,
ⓘImportant traits for SmallVec<A>fn clone(&self) -> SmallVec<A>
[src]
fn clone(&self) -> SmallVec<A>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<A: Array> IntoIterator for SmallVec<A>
[src]
impl<A: Array> IntoIterator for SmallVec<A>
type IntoIter = IntoIter<A>
Which kind of iterator are we turning this into?
type Item = A::Item
The type of the elements being iterated over.
fn into_iter(self) -> Self::IntoIter
[src]
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<'a, A: Array> IntoIterator for &'a SmallVec<A>
[src]
impl<'a, A: Array> IntoIterator for &'a SmallVec<A>
type IntoIter = Iter<'a, A::Item>
Which kind of iterator are we turning this into?
type Item = &'a A::Item
The type of the elements being iterated over.
fn into_iter(self) -> Self::IntoIter
[src]
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<'a, A: Array> IntoIterator for &'a mut SmallVec<A>
[src]
impl<'a, A: Array> IntoIterator for &'a mut SmallVec<A>
type IntoIter = IterMut<'a, A::Item>
Which kind of iterator are we turning this into?
type Item = &'a mut A::Item
The type of the elements being iterated over.
fn into_iter(self) -> Self::IntoIter
[src]
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<A: Array> Extend<<A as Array>::Item> for SmallVec<A>
[src]
impl<A: Array> Extend<<A as Array>::Item> for SmallVec<A>
fn extend<I: IntoIterator<Item = A::Item>>(&mut self, iterable: I)
[src]
fn extend<I: IntoIterator<Item = A::Item>>(&mut self, iterable: I)
Extends a collection with the contents of an iterator. Read more
impl<A: Array> Eq for SmallVec<A> where
A::Item: Eq,
[src]
impl<A: Array> Eq for SmallVec<A> where
A::Item: Eq,
impl<A: Array> Drop for SmallVec<A>
[src]
impl<A: Array> Drop for SmallVec<A>
impl<A: Array> Deref for SmallVec<A>
[src]
impl<A: Array> Deref for SmallVec<A>
type Target = [A::Item]
The resulting type after dereferencing.
fn deref(&self) -> &[A::Item]
[src]
fn deref(&self) -> &[A::Item]
Dereferences the value.
impl<A: Array> Hash for SmallVec<A> where
A::Item: Hash,
[src]
impl<A: Array> Hash for SmallVec<A> where
A::Item: Hash,
fn hash<H: Hasher>(&self, state: &mut H)
[src]
fn hash<H: Hasher>(&self, state: &mut H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<A: Array> DerefMut for SmallVec<A>
[src]
impl<A: Array> DerefMut for SmallVec<A>
impl<A: Array> Index<usize> for SmallVec<A>
[src]
impl<A: Array> Index<usize> for SmallVec<A>
type Output = A::Item
The returned type after indexing.
fn index(&self, index: usize) -> &A::Item
[src]
fn index(&self, index: usize) -> &A::Item
Performs the indexing (container[index]
) operation.
impl<A: Array> Index<Range<usize>> for SmallVec<A>
[src]
impl<A: Array> Index<Range<usize>> for SmallVec<A>
type Output = [A::Item]
The returned type after indexing.
fn index(&self, index: Range<usize>) -> &[A::Item]
[src]
fn index(&self, index: Range<usize>) -> &[A::Item]
Performs the indexing (container[index]
) operation.
impl<A: Array> Index<RangeFrom<usize>> for SmallVec<A>
[src]
impl<A: Array> Index<RangeFrom<usize>> for SmallVec<A>
type Output = [A::Item]
The returned type after indexing.
fn index(&self, index: RangeFrom<usize>) -> &[A::Item]
[src]
fn index(&self, index: RangeFrom<usize>) -> &[A::Item]
Performs the indexing (container[index]
) operation.
impl<A: Array> Index<RangeTo<usize>> for SmallVec<A>
[src]
impl<A: Array> Index<RangeTo<usize>> for SmallVec<A>
type Output = [A::Item]
The returned type after indexing.
fn index(&self, index: RangeTo<usize>) -> &[A::Item]
[src]
fn index(&self, index: RangeTo<usize>) -> &[A::Item]
Performs the indexing (container[index]
) operation.
impl<A: Array> Index<RangeFull> for SmallVec<A>
[src]
impl<A: Array> Index<RangeFull> for SmallVec<A>
type Output = [A::Item]
The returned type after indexing.
fn index(&self, index: RangeFull) -> &[A::Item]
[src]
fn index(&self, index: RangeFull) -> &[A::Item]
Performs the indexing (container[index]
) operation.
impl<A: Array> IndexMut<usize> for SmallVec<A>
[src]
impl<A: Array> IndexMut<usize> for SmallVec<A>
fn index_mut(&mut self, index: usize) -> &mut A::Item
[src]
fn index_mut(&mut self, index: usize) -> &mut A::Item
Performs the mutable indexing (container[index]
) operation.
impl<A: Array> IndexMut<Range<usize>> for SmallVec<A>
[src]
impl<A: Array> IndexMut<Range<usize>> for SmallVec<A>
fn index_mut(&mut self, index: Range<usize>) -> &mut [A::Item]
[src]
fn index_mut(&mut self, index: Range<usize>) -> &mut [A::Item]
Performs the mutable indexing (container[index]
) operation.
impl<A: Array> IndexMut<RangeFrom<usize>> for SmallVec<A>
[src]
impl<A: Array> IndexMut<RangeFrom<usize>> for SmallVec<A>
fn index_mut(&mut self, index: RangeFrom<usize>) -> &mut [A::Item]
[src]
fn index_mut(&mut self, index: RangeFrom<usize>) -> &mut [A::Item]
Performs the mutable indexing (container[index]
) operation.
impl<A: Array> IndexMut<RangeTo<usize>> for SmallVec<A>
[src]
impl<A: Array> IndexMut<RangeTo<usize>> for SmallVec<A>
fn index_mut(&mut self, index: RangeTo<usize>) -> &mut [A::Item]
[src]
fn index_mut(&mut self, index: RangeTo<usize>) -> &mut [A::Item]
Performs the mutable indexing (container[index]
) operation.
impl<A: Array> IndexMut<RangeFull> for SmallVec<A>
[src]
impl<A: Array> IndexMut<RangeFull> for SmallVec<A>
fn index_mut(&mut self, index: RangeFull) -> &mut [A::Item]
[src]
fn index_mut(&mut self, index: RangeFull) -> &mut [A::Item]
Performs the mutable indexing (container[index]
) operation.
impl<A: Array> FromIterator<<A as Array>::Item> for SmallVec<A>
[src]
impl<A: Array> FromIterator<<A as Array>::Item> for SmallVec<A>
ⓘImportant traits for SmallVec<A>fn from_iter<I: IntoIterator<Item = A::Item>>(iterable: I) -> SmallVec<A>
[src]
fn from_iter<I: IntoIterator<Item = A::Item>>(iterable: I) -> SmallVec<A>
Creates a value from an iterator. Read more
impl<A: Array> Debug for SmallVec<A> where
A::Item: Debug,
[src]
impl<A: Array> Debug for SmallVec<A> where
A::Item: Debug,
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<A: Array> Borrow<[<A as Array>::Item]> for SmallVec<A>
[src]
impl<A: Array> Borrow<[<A as Array>::Item]> for SmallVec<A>
impl<A: Array<Item = u8>> Write for SmallVec<A>
[src]
impl<A: Array<Item = u8>> Write for SmallVec<A>
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<()>
[src]
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this write. Read more
fn flush(&mut self) -> Result<()>
[src]
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Write
. Read more
impl<A: Array> BorrowMut<[<A as Array>::Item]> for SmallVec<A>
[src]
impl<A: Array> BorrowMut<[<A as Array>::Item]> for SmallVec<A>
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T
[src]
impl<T> From for T
impl<I> IntoIterator for I where
I: Iterator,
[src]
impl<I> IntoIterator for I where
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I
[src]
fn into_iter(self) -> I
Creates an iterator from a value. Read more
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more