Struct SlotStorage

Source
pub struct SlotStorage<'a> { /* private fields */ }
Expand description

Represents a buffer of bytes that can be allocated from

This is similar to InlineStorage but because it doesnt store its buffer directly, it can potentially allocate memory with large alignments that are not known at compile time

Trait Implementations§

Source§

impl Storage for SlotStorage<'_>

Source§

type Handle = SlotStorageHandle

The StorageHandle type that represents an allocation by this Storage
Source§

unsafe fn resolve(&self, handle: Self::Handle) -> NonNull<()>

Returns a pointer to the allocation represented by handle Read more
Source§

fn allocate( &self, layout: Layout, ) -> Result<(Self::Handle, usize), StorageAllocError>

Allocates memory with a layout specified by layout Read more
Source§

unsafe fn deallocate(&self, layout: Layout, handle: Self::Handle)

Deallocates (and invalidates) a StorageHandle that was allocated with this Storage Read more
Source§

unsafe fn grow( &self, old_layout: Layout, new_layout: Layout, old_handle: Self::Handle, ) -> Result<(Self::Handle, usize), StorageAllocError>

Grows (increases the size of) an allocation Read more
Source§

unsafe fn shrink( &self, old_layout: Layout, new_layout: Layout, old_handle: Self::Handle, ) -> Result<(Self::Handle, usize), StorageAllocError>

Shrinks (decreases the size of) an allocation Read more
Source§

impl Send for SlotStorage<'_>

Auto Trait Implementations§

§

impl<'a> Freeze for SlotStorage<'a>

§

impl<'a> !RefUnwindSafe for SlotStorage<'a>

§

impl<'a> !Sync for SlotStorage<'a>

§

impl<'a> Unpin for SlotStorage<'a>

§

impl<'a> !UnwindSafe for SlotStorage<'a>

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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.