Skip to main content

Slab

Struct Slab 

Source
pub struct Slab<T, Tag: Tag> { /* private fields */ }

Implementations§

Source§

impl<T, Tag: Tag> Slab<T, Tag>

Source

pub fn try_new(cap: Capacity) -> Result<Self, Error>

Reserves the complete typed target table transactionally.

Source

pub fn capacity(&self) -> Capacity

Returns the immutable extent admitted when this route table was allocated.

Source

pub fn len(&self) -> Count

Source

pub fn available(&self) -> Count

Returns capacity minus the number of initialized values.

Forgotten reservations are included, so this is an upper bound on reservable slots. Reservation still reports Full or IdentityExhausted.

Source

pub fn is_empty(&self) -> bool

Source

pub fn next_generation(&self) -> Option<Epoch>

Source

pub fn get(&self, parts: Parts<Tag>) -> Option<&T>

Source

pub fn contains(&self, parts: Parts<Tag>) -> bool

Source

pub fn key_at(&self, slot: SlotIndex) -> Option<Key<Tag>>

Source

pub fn access(&mut self) -> Access<'_, T, Tag>

Auto Trait Implementations§

§

impl<T, Tag> !Freeze for Slab<T, Tag>

§

impl<T, Tag> !RefUnwindSafe for Slab<T, Tag>

§

impl<T, Tag> !Send for Slab<T, Tag>

§

impl<T, Tag> !Sync for Slab<T, Tag>

§

impl<T, Tag> !UnwindSafe for Slab<T, Tag>

§

impl<T, Tag> Forget for Slab<T, Tag>

§

impl<T, Tag> Unpin for Slab<T, Tag>
where Exclusive<T, Epoch, Tag, PARTITIONS>: Unpin,

§

impl<T, Tag> UnsafeUnpin for Slab<T, Tag>
where Exclusive<T, Epoch, Tag, PARTITIONS>: UnsafeUnpin,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Convert<T> for T

Source§

fn into(self) -> T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.