Struct BorrowedMutPointer

Source
pub struct BorrowedMutPointer<'a, P, T: 'a> { /* private fields */ }
Expand description

A pointer whose contents were borrowed from a Rust object, and therefore whose lifetime is limited to the lifetime of the underlying Rust object. The Rust object is borrowed from an exclusive reference, and therefore the pointer is mutable.

Implementations§

Source§

impl<'a, P, T: 'a> BorrowedMutPointer<'a, P, T>

Source

pub unsafe fn new(ptr: *mut P, storage: T) -> Self

Return a new BorrowedMutPointer that wraps the pointer ptr. storage can contain any other data that ptr points to, and that should be dropped when the BorrowedMutPointer goes out of scope.

§Safety

The pointer must be valid for the lifetime of the BorrowedPointer. If the pointer points into the storage, T must be pinned.

Source

pub fn as_ptr(&self) -> *const P

Return the pointer that is stored in the BorrowedMutPointer. The returned pointer is constant and is valid for as long as the BorrowedMutPointer itself.

Source

pub fn as_mut_ptr(&mut self) -> *mut P

Return the pointer that is stored in the BorrowedMutPointer. The returned pointer is mutable and is valid for as long as the BorrowedMutPointer itself.

Trait Implementations§

Source§

impl<'a, P, T: 'a> Debug for BorrowedMutPointer<'a, P, T>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, P, T> Freeze for BorrowedMutPointer<'a, P, T>
where T: Freeze,

§

impl<'a, P, T> RefUnwindSafe for BorrowedMutPointer<'a, P, T>

§

impl<'a, P, T> !Send for BorrowedMutPointer<'a, P, T>

§

impl<'a, P, T> !Sync for BorrowedMutPointer<'a, P, T>

§

impl<'a, P, T> Unpin for BorrowedMutPointer<'a, P, T>
where T: Unpin,

§

impl<'a, P, T> !UnwindSafe for BorrowedMutPointer<'a, P, T>

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.