Struct MAPIOutParam

Source
pub struct MAPIOutParam<T>(/* private fields */)
where
    T: Sized;
Expand description

Hold an out-pointer for MAPI APIs which perform their own buffer allocations. This version does not perform any validation of the buffer size, so the typed accessors are inherently unsafe.

Implementations§

Source§

impl<T> MAPIOutParam<T>
where T: Sized,

Source

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

Get a *mut *mut T suitable for use with a MAPI API that fills in an out-pointer with a newly allocated buffer.

Source

pub unsafe fn as_mut(&mut self) -> Option<&mut T>

Access a single element of type T.

§Safety

This version does not perform any validation of the buffer size, so the typed accessors are inherently unsafe. The only thing it handles is a null check.

Source

pub unsafe fn as_mut_slice(&mut self, count: usize) -> Option<&mut [T]>

Access a slice with count elements of type T.

§Safety

This version does not perform any validation of the buffer size, so the typed accessors are inherently unsafe. The only thing it handles is a null check.

Trait Implementations§

Source§

impl<T> Default for MAPIOutParam<T>
where T: Sized,

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T> Drop for MAPIOutParam<T>
where T: Sized,

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T> Freeze for MAPIOutParam<T>

§

impl<T> RefUnwindSafe for MAPIOutParam<T>
where T: RefUnwindSafe,

§

impl<T> !Send for MAPIOutParam<T>

§

impl<T> !Sync for MAPIOutParam<T>

§

impl<T> Unpin for MAPIOutParam<T>

§

impl<T> UnwindSafe for MAPIOutParam<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.