[−][src]Struct thunderdome::Arena
Container that can have elements inserted into it and removed from it.
Indices use the Index
type, created by inserting values with
Arena::insert
.
Implementations
impl<T> Arena<T>
[src]
pub fn new() -> Self
[src]
Construct an empty Arena
.
pub fn insert(&mut self, value: T) -> Index
[src]
Insert a new value into the arena, returning an index that can be used to later retrieve the value.
pub fn get(&self, index: Index) -> Option<&T>
[src]
Get an immutable reference to a value inside the arena by
Index
, returning None
if the index is not contained in the
arena.
pub fn get_mut(&mut self, index: Index) -> Option<&mut T>
[src]
Get a mutable reference to a value inside the arena by Index
,
returning None
if the index is not contained in the arena.
pub fn remove(&mut self, index: Index) -> Option<T>
[src]
Remove the value contained at the given index from the arena, returning it if it was present.
pub fn drain(&mut self) -> Drain<'_, T>ⓘ
[src]
Returns an iterator that removes each element from the arena.
Iteration order is not defined.
If the iterator is dropped before it is fully consumed, any uniterated items will still be contained in the arena.
Trait Implementations
impl<T: Clone> Clone for Arena<T>
[src]
impl<T: Debug> Debug for Arena<T>
[src]
impl<T> Index<Index> for Arena<T>
[src]
type Output = T
The returned type after indexing.
fn index(&self, index: Index) -> &Self::Output
[src]
impl<T> IndexMut<Index> for Arena<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for Arena<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Arena<T> where
T: Send,
T: Send,
impl<T> Sync for Arena<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Arena<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Arena<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,