pub struct Bump<const N: usize, M = MatterRawMutex> { /* private fields */ }Expand description
A bump allocator that uses a provided memory chunk
Implementations§
Source§impl<const N: usize, M: RawMutex> Bump<N, M>
impl<const N: usize, M: RawMutex> Bump<N, M>
Sourcepub unsafe fn reset(&self)
pub unsafe fn reset(&self)
Reset the allocator, making all previously allocated memory available again.
§Safety
This is unsafe because any previously allocated objects that are still in use will get their memory corrupted and overwritten with new objects.
Make sure that NO previously allocated objects are still in use when calling this method.
Trait Implementations§
Auto Trait Implementations§
impl<const N: usize, M = NoopRawMutex> !Freeze for Bump<N, M>
impl<const N: usize, M = NoopRawMutex> !RefUnwindSafe for Bump<N, M>
impl<const N: usize, M> Send for Bump<N, M>
impl<const N: usize, M> Sync for Bump<N, M>
impl<const N: usize, M> Unpin for Bump<N, M>where
M: Unpin,
impl<const N: usize, M> UnsafeUnpin for Bump<N, M>where
M: UnsafeUnpin,
impl<const N: usize, M> UnwindSafe for Bump<N, M>where
M: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
Source§fn into_fallible<E>(self) -> impl Init<T, E>
fn into_fallible<E>(self) -> impl Init<T, E>
Convert the infallible initializer to a fallible one.
Source§impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
type Error = <Target as OctetsFrom<Source>>::Error
Source§fn try_octets_into(
self,
) -> Result<Target, <Source as OctetsInto<Target>>::Error>
fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>
Performs the conversion.
Source§fn octets_into(self) -> Target
fn octets_into(self) -> Target
Performs an infallible conversion.