Struct Inspect

Source
pub struct Inspect<A, F> { /* private fields */ }
Expand description

An allocator that forwards allocation to alloc and calls the provided closure on each result.

This struct is created by fallback method on Allocandrescu. See its documentation for more details.

Implementations§

Source§

impl<A, F> Inspect<A, F>

Source

pub fn new(alloc: A, f: F) -> Self

Trait Implementations§

Source§

impl<A, F> Allocator for Inspect<A, F>

Source§

fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

Attempts to allocate a block of memory. Read more
Source§

unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)

Deallocates the memory referenced by ptr. Read more
Source§

fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

Behaves like allocate, but also ensures that the returned memory is zero-initialized. Read more
Source§

unsafe fn grow( &self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout, ) -> Result<NonNull<[u8]>, AllocError>

Attempts to extend the memory block. Read more
Source§

unsafe fn grow_zeroed( &self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout, ) -> Result<NonNull<[u8]>, AllocError>

Behaves like grow, but also ensures that the new contents are set to zero before being returned. Read more
Source§

unsafe fn shrink( &self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout, ) -> Result<NonNull<[u8]>, AllocError>

Attempts to shrink the memory block. Read more
Source§

fn by_ref(&self) -> &Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Allocator. Read more
Source§

impl<A, F> ArenaAllocator for Inspect<A, F>

Source§

fn contains(&self, ptr: NonNull<u8>, layout: Layout) -> bool

Returns true if the allocation specified by ptr and layout is within the allocator’s arena.
Source§

impl<A: Debug, F: Debug> Debug for Inspect<A, F>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<A, F> Freeze for Inspect<A, F>
where A: Freeze, F: Freeze,

§

impl<A, F> RefUnwindSafe for Inspect<A, F>

§

impl<A, F> Send for Inspect<A, F>
where A: Send, F: Send,

§

impl<A, F> Sync for Inspect<A, F>
where A: Sync, F: Sync,

§

impl<A, F> Unpin for Inspect<A, F>
where A: Unpin, F: Unpin,

§

impl<A, F> UnwindSafe for Inspect<A, F>
where A: UnwindSafe, F: UnwindSafe,

Blanket Implementations§

Source§

impl<A> Allocandrescu for A
where A: Allocator,

Source§

fn cond<F>(self, pred: F) -> Cond<Self, F>
where F: Fn(Layout) -> bool,

Combines an allocator with a condition. It allocates only if the condition is met. Read more
Source§

fn fallback<S>(self, secondary: S) -> Fallback<Self, S>
where Self: ArenaAllocator, S: Allocator,

Combines allocator with a secondary allocator to be used if the primary one fails. Read more
Source§

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where F: Fn(Layout, Result<NonNull<[u8]>, AllocError>),

Combines allocator with a function that does something to each allocation result. Read more
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.