Struct stack::SmallVec [] [src]

pub struct SmallVec<T: Array, S = Vec<T::Item>>(_);

Methods

impl<T: Array, S: Vector + Spilled<ArrayVec<T>>> SmallVec<T, S>
[src]

fn spill(&mut self)

fn is_spilled(&self) -> bool

impl<T: Array, S> SmallVec<T, S>
[src]

fn into_inner(self) -> Coalesce2<ArrayVec<T>, S>

Trait Implementations

impl<T: Array, S: Spilled<ArrayVec<T>> + Index<usize>> Index<usize> for SmallVec<T, S> where ArrayVec<T>: Index<usize, Output=S::Output>
[src]

type Output = S::Output

The returned type after indexing

fn index(&self, index: usize) -> &Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + IndexMut<usize>> IndexMut<usize> for SmallVec<T, S> where ArrayVec<T>: IndexMut<usize, Output=S::Output>
[src]

fn index_mut(&mut self, index: usize) -> &mut Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + Index<Range<usize>>> Index<Range<usize>> for SmallVec<T, S> where ArrayVec<T>: Index<Range<usize>, Output=S::Output>
[src]

type Output = S::Output

The returned type after indexing

fn index(&self, index: Range<usize>) -> &Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + IndexMut<Range<usize>>> IndexMut<Range<usize>> for SmallVec<T, S> where ArrayVec<T>: IndexMut<Range<usize>, Output=S::Output>
[src]

fn index_mut(&mut self, index: Range<usize>) -> &mut Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + Index<RangeFrom<usize>>> Index<RangeFrom<usize>> for SmallVec<T, S> where ArrayVec<T>: Index<RangeFrom<usize>, Output=S::Output>
[src]

type Output = S::Output

The returned type after indexing

fn index(&self, index: RangeFrom<usize>) -> &Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + IndexMut<RangeFrom<usize>>> IndexMut<RangeFrom<usize>> for SmallVec<T, S> where ArrayVec<T>: IndexMut<RangeFrom<usize>, Output=S::Output>
[src]

fn index_mut(&mut self, index: RangeFrom<usize>) -> &mut Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + Index<RangeTo<usize>>> Index<RangeTo<usize>> for SmallVec<T, S> where ArrayVec<T>: Index<RangeTo<usize>, Output=S::Output>
[src]

type Output = S::Output

The returned type after indexing

fn index(&self, index: RangeTo<usize>) -> &Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + IndexMut<RangeTo<usize>>> IndexMut<RangeTo<usize>> for SmallVec<T, S> where ArrayVec<T>: IndexMut<RangeTo<usize>, Output=S::Output>
[src]

fn index_mut(&mut self, index: RangeTo<usize>) -> &mut Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + Index<RangeFull>> Index<RangeFull> for SmallVec<T, S> where ArrayVec<T>: Index<RangeFull, Output=S::Output>
[src]

type Output = S::Output

The returned type after indexing

fn index(&self, index: RangeFull) -> &Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Spilled<ArrayVec<T>> + IndexMut<RangeFull>> IndexMut<RangeFull> for SmallVec<T, S> where ArrayVec<T>: IndexMut<RangeFull, Output=S::Output>
[src]

fn index_mut(&mut self, index: RangeFull) -> &mut Self::Output

The method for the indexing (Foo[Bar]) operation

impl<T: Array, S: Clone> Clone for SmallVec<T, S> where ArrayVec<T>: Clone
[src]

fn clone(&self) -> Self

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl<T: Array, S> From<ArrayVec<T>> for SmallVec<T, S>
[src]

fn from(v: ArrayVec<T>) -> Self

Performs the conversion.

impl<T: Array, S: Vector<Item=T::Item> + Spilled<ArrayVec<T>>> Vector for SmallVec<T, S>
[src]

type Item = T::Item

fn with_capacity(cap: usize) -> Self

fn capacity(&self) -> usize

fn reserve(&mut self, additional: usize)

fn reserve_exact(&mut self, additional: usize)

fn shrink_to_fit(&mut self)

fn into_boxed_slice(self) -> Box<[T::Item]>

unsafe fn set_len(&mut self, len: usize)

fn len(&self) -> usize

fn as_ptr(&self) -> *const T::Item

fn as_mut_ptr(&mut self) -> *mut T::Item

fn new() -> Self where Self: Sized

fn truncate(&mut self, len: usize)

fn swap_remove(&mut self, index: usize) -> Self::Item

fn insert(&mut self, index: usize, element: Self::Item)

fn remove(&mut self, index: usize) -> Self::Item

fn retain<F: FnMut(&Self::Item) -> bool>(&mut self, f: F) where Self: Sized

fn push(&mut self, value: Self::Item)

fn pop(&mut self) -> Option<Self::Item>

fn clear(&mut self)

fn is_empty(&self) -> bool

fn push_cap(&mut self, value: Self::Item) -> Result<(), Self::Item>

fn insert_cap(&mut self, index: usize, element: Self::Item) -> Option<Self::Item>

fn as_slice(&self) -> &[Self::Item]

fn as_mut_slice(&mut self) -> &mut [Self::Item]

unsafe fn uninitialized_resize(&mut self, new_len: usize)

impl<T: Array, S: Extend<T::Item>> Extend<T::Item> for SmallVec<T, S> where SmallVec<T, S>: Vector
[src]

fn extend<I: IntoIterator<Item=T::Item>>(&mut self, iter: I)

Extends a collection with the contents of an iterator. Read more

impl<T: Array, S: Extend<T::Item>> FromIterator<T::Item> for SmallVec<T, S> where SmallVec<T, S>: Vector
[src]

fn from_iter<I: IntoIterator<Item=T::Item>>(iter: I) -> Self

Creates a value from an iterator. Read more

impl<T: Array, S: IntoIterator<Item=ArrayVec<T>::Item>> IntoIterator for SmallVec<T, S> where ArrayVec<T>: IntoIterator
[src]

type Item = S::Item

The type of the elements being iterated over.

type IntoIter = SmallVecIter<ArrayVec<T>::IntoIter, S::IntoIter>

Which kind of iterator are we turning this into?

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more

impl<T: Array, S: Deref> Deref for SmallVec<T, S> where ArrayVec<T>: Deref<Target=S::Target>
[src]

type Target = S::Target

The resulting type after dereferencing

fn deref(&self) -> &Self::Target

The method called to dereference a value

impl<T: Array, S: DerefMut> DerefMut for SmallVec<T, S> where ArrayVec<T>: DerefMut + Deref<Target=S::Target>
[src]

fn deref_mut(&mut self) -> &mut Self::Target

The method called to mutably dereference a value

impl<T: Array, S> Default for SmallVec<T, S>
[src]

fn default() -> Self

Returns the "default value" for a type. Read more

impl<T: Array, S: Hash> Hash for SmallVec<T, S> where ArrayVec<T>: Hash
[src]

fn hash<H: Hasher>(&self, h: &mut H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl<T: Array, S: Debug + Vector<Item=T::Item> + Spilled<ArrayVec<T>>> Debug for SmallVec<T, S> where ArrayVec<T>: Debug
[src]

fn fmt(&self, fmt: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<'a, T: Array + 'a, S: Vector<Item=T::Item> + 'a> AsRef<Vector<Item=T::Item> + 'a> for SmallVec<T, S> where T::Item: 'a, T::Index: 'a
[src]

fn as_ref(&self) -> &Vector<Item=T::Item> + 'a

Performs the conversion.