Struct DroplessArena
pub struct DroplessArena<'arena> {
_lives: PhantomData<&'arena u8>,
chunks: RefCell<Vec<ArenaChunk<u8>>>,
head: Cell<*mut u8>,
tail: Cell<*mut u8>,
}Fields§
§_lives: PhantomData<&'arena u8>§chunks: RefCell<Vec<ArenaChunk<u8>>>§head: Cell<*mut u8>§tail: Cell<*mut u8>Implementations§
§impl<'arena> DroplessArena<'arena>
impl<'arena> DroplessArena<'arena>
pub const fn new() -> DroplessArena<'arena>
pub fn alloc<T>(&'arena self, value: T) -> &'arena mut T
pub fn alloc<T>(&'arena self, value: T) -> &'arena mut T
Allocates a T in the DroplessArena, and returns a mutable reference to it.
§Panics
- Panics if T implements Drop
- Panics if T is zero-sized
pub fn alloc_slice<T>(&'arena self, slice: &[T]) -> &'arena mut [T]where
T: Copy,
pub fn alloc_slice<T>(&'arena self, slice: &[T]) -> &'arena mut [T]where
T: Copy,
pub fn contains_slice<T>(&self, slice: &[T]) -> bool
pub fn contains_slice<T>(&self, slice: &[T]) -> bool
Checks whether the given slice is allocated in this arena
Trait Implementations§
§impl Default for DroplessArena<'_>
impl Default for DroplessArena<'_>
§fn default() -> DroplessArena<'_>
fn default() -> DroplessArena<'_>
Returns the “default value” for a type. Read more
impl Send for DroplessArena<'_>
Auto Trait Implementations§
impl<'arena> !Freeze for DroplessArena<'arena>
impl<'arena> !RefUnwindSafe for DroplessArena<'arena>
impl<'arena> !Sync for DroplessArena<'arena>
impl<'arena> Unpin for DroplessArena<'arena>
impl<'arena> UnwindSafe for DroplessArena<'arena>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more