[−][src]Struct compact_arena::NanoArena
A "nano" arena containing up to 256 elements.
You will likely use this via the mk_nano_arena
macro.
Implementations
impl<'tag, T> NanoArena<'tag, T>
[src]
pub unsafe fn new(tag: InvariantLifetime<'tag>) -> NanoArena<'tag, T>
[src]
create a new NanoArena. Don't do this manually. Use the
mk_nano_arena
macro instead.
Safety
The whole tagged indexing trick relies on the 'tag
you give to
this constructor. You must never use this value in another arena,
lest you might be able to mix up the indices of the two, which
could lead to out of bounds access and thus Undefined Behavior!
pub fn try_add(&mut self, item: T) -> Result<Idx8<'tag>, CapacityExceeded<T>>
[src]
Add an item to the arena, get an index or CapacityExceeded back.
pub fn add(&mut self, item: T) -> Idx8<'tag>
[src]
Add an item to the arena, get an index back
Trait Implementations
impl<'tag, T> Drop for NanoArena<'tag, T>
[src]
impl<'tag, T> Index<Idx<'tag, u8>> for NanoArena<'tag, T>
[src]
impl<'tag, T> IndexMut<Idx<'tag, u8>> for NanoArena<'tag, T>
[src]
Auto Trait Implementations
impl<'tag, T> RefUnwindSafe for NanoArena<'tag, T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<'tag, T> Send for NanoArena<'tag, T> where
T: Send,
T: Send,
impl<'tag, T> Sync for NanoArena<'tag, T> where
T: Sync,
T: Sync,
impl<'tag, T> Unpin for NanoArena<'tag, T> where
T: Unpin,
T: Unpin,
impl<'tag, T> UnwindSafe for NanoArena<'tag, 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, 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>,