shadow_shmem::allocator

Struct ShMemBlock

source
pub struct ShMemBlock<'allocator, T>{ /* private fields */ }
Expand description

A smart pointer class that holds a Sync and VirtualAddressSpaceIndependent object.

The pointer is obtained by a call to a shared memory allocator’s alloc() function (or the global shalloc() function. The memory is freed when the block is dropped.

This smart pointer is unique in that it may be serialized to a string, passed across process boundaries, and deserialized in a (potentially) separate process to obtain a view of the contained data.

Implementations§

source§

impl<'allocator, T> ShMemBlock<'allocator, T>

Trait Implementations§

source§

impl<'allocator, T> Debug for ShMemBlock<'allocator, T>

source§

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

Formats the value using the given formatter. Read more
source§

impl<'allocator, T> Drop for ShMemBlock<'allocator, T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<'allocator, T> Deref for ShMemBlock<'allocator, T>

source§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'allocator, T> Send for ShMemBlock<'allocator, T>

source§

impl<'allocator, T> Sync for ShMemBlock<'allocator, T>

Auto Trait Implementations§

§

impl<'allocator, T> Freeze for ShMemBlock<'allocator, T>

§

impl<'allocator, T> RefUnwindSafe for ShMemBlock<'allocator, T>
where T: RefUnwindSafe,

§

impl<'allocator, T> Unpin for ShMemBlock<'allocator, T>

§

impl<'allocator, T> UnwindSafe for ShMemBlock<'allocator, T>
where T: RefUnwindSafe,

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.