Struct CVec

Source
#[repr(C)]
pub struct CVec { /* private fields */ }
Expand description

A struct to facilitate transferring a Vec<u8> across FFI boundaries.

Implementations§

Source§

impl CVec

Source

pub fn as_mut_slice(&mut self) -> &mut [u8]

Returns a mutable slice of the contained data.

§Safety

The caller must ensure that the data pointed to by self.data remains valid for the duration of the returned slice.

Source

pub fn as_shared_buffer(v: &mut [u8]) -> Self

Fills a buffer allocated in Rust from C.

§Safety

Constructs a CVec without taking ownership of the pointed buffer. If the owner drops the buffer, the CVec will point to invalid memory.

Trait Implementations§

Source§

impl Clone for CVec

Source§

fn clone(&self) -> CVec

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CVec

Source§

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

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

impl From<&[u8]> for CVec

Source§

fn from(v: &[u8]) -> Self

Converts to this type from the input type.
Source§

impl Copy for CVec

Auto Trait Implementations§

§

impl Freeze for CVec

§

impl RefUnwindSafe for CVec

§

impl !Send for CVec

§

impl !Sync for CVec

§

impl Unpin for CVec

§

impl UnwindSafe for CVec

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.