Struct slab::Slab [] [src]

pub struct Slab<T, I = usize> { /* fields omitted */ }

A preallocated chunk of memory for storing objects of the same type.

Methods

impl<T, I> Slab<T, I>
[src]

Returns an empty Slab with the requested capacity

Returns the number of values stored by the Slab

Returns the total capacity of the Slab

Returns true if the Slab is storing no values

Returns the number of available slots remaining in the Slab

Returns true if the Slab has available slots

impl<T, I: Into<usize> + From<usize>> Slab<T, I>
[src]

Returns true if the Slab contains a value for the given token

Get a reference to the value associated with the given token

Get a mutable reference to the value associated with the given token

Insert a value into the slab, returning the associated token

Returns a handle to an entry.

This allows more advanced manipulation of the value stored at the given index.

Returns a handle to a vacant entry.

This allows optionally inserting a value that is constructed with the index.

Releases the given slot

Retain 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.

Important traits for Iter<'a, T, I>

An iterator for visiting all elements stored in the Slab

Important traits for IterMut<'a, T, I>

A mutable iterator for visiting all elements stored in the Slab

Empty the slab, by freeing all entries

Reserves the minimum capacity for exactly additional more elements to be inserted in the given Slab. Does nothing if the capacity is already sufficient.

Trait Implementations

impl<T, I> Send for Slab<T, I> where
    T: Send
[src]

impl<T, I: From<usize> + Into<usize>> Index<I> for Slab<T, I>
[src]

The returned type after indexing.

Performs the indexing (container[index]) operation.

impl<T, I: From<usize> + Into<usize>> IndexMut<I> for Slab<T, I>
[src]

Performs the mutable indexing (container[index]) operation.

impl<T, I> Debug for Slab<T, I> where
    T: Debug,
    I: Debug
[src]

Formats the value using the given formatter. Read more

impl<'a, T, I: From<usize> + Into<usize>> IntoIterator for &'a Slab<T, I>
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Important traits for Iter<'a, T, I>

Creates an iterator from a value. Read more

impl<'a, T, I: From<usize> + Into<usize>> IntoIterator for &'a mut Slab<T, I>
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Important traits for IterMut<'a, T, I>

Creates an iterator from a value. Read more

Auto Trait Implementations

impl<T, I> Sync for Slab<T, I> where
    I: Sync,
    T: Sync