Struct PokeSmartPointerUninit

Source
pub struct PokeSmartPointerUninit<'mem> { /* private fields */ }
Expand description

Allows initializing an uninitialized option

Implementations§

Source§

impl<'mem> PokeSmartPointerUninit<'mem>

Source

pub fn shape(&self) -> &'static Shape

Returns the shape for this smart pointer.

Source

pub fn def(&self) -> &SmartPointerDef

Returns the smart pointer definition.

Source

pub fn vtable(&self) -> &'static SmartPointerVTable

Returns the smart pointer vtable

Source

pub fn into_value(self) -> PokeValueUninit<'mem>

Get a reference to the underlying PokeValue

Source

pub fn from_t<T>(self, value: T) -> Option<PokeSmartPointer<'mem>>

Creates a new smart pointer around a given T

Returns None if the smart pointer cannot be created directly (like for weak pointers).

Source

pub fn from_peek_value( self, value: PeekValue<'mem>, ) -> Option<PokeSmartPointer<'mem>>

Creates a new smart pointer from an existing PeekValue.

Note: The PeekValue is moved out of (consumed) during this operation. It must be deallocated by the caller on success.

Returns None if the smart pointer cannot be created directly (like for weak pointers).

Auto Trait Implementations§

§

impl<'mem> Freeze for PokeSmartPointerUninit<'mem>

§

impl<'mem> RefUnwindSafe for PokeSmartPointerUninit<'mem>

§

impl<'mem> !Send for PokeSmartPointerUninit<'mem>

§

impl<'mem> !Sync for PokeSmartPointerUninit<'mem>

§

impl<'mem> Unpin for PokeSmartPointerUninit<'mem>

§

impl<'mem> !UnwindSafe for PokeSmartPointerUninit<'mem>

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.