Struct ffi_convert::CStringArray
source · #[repr(C)]pub struct CStringArray {
pub data: *const *const c_char,
pub size: usize,
}
Expand description
A utility type to represent arrays of string
Example
use ffi_convert::{CReprOf, CStringArray};
let pizza_names = vec!["Diavola".to_string(), "Margarita".to_string(), "Regina".to_string()];
let c_pizza_names = CStringArray::c_repr_of(pizza_names).expect("could not convert !");
Fields§
§data: *const *const c_char
Pointer to the first element of the array
size: usize
Number of elements in the array
Trait Implementations§
source§impl CDrop for CStringArray
impl CDrop for CStringArray
source§impl Debug for CStringArray
impl Debug for CStringArray
source§impl Drop for CStringArray
impl Drop for CStringArray
source§impl RawPointerConverter<CStringArray> for CStringArray
impl RawPointerConverter<CStringArray> for CStringArray
source§fn into_raw_pointer(self) -> *const CStringArray
fn into_raw_pointer(self) -> *const CStringArray
Creates a raw pointer from the value and leaks it, you should use
Self::from_raw_pointer
or Self::drop_raw_pointer
to free the value when you’re done with it.source§fn into_raw_pointer_mut(self) -> *mut CStringArray
fn into_raw_pointer_mut(self) -> *mut CStringArray
Creates a mutable raw pointer from the value and leaks it, you should use
Self::from_raw_pointer_mut
or Self::drop_raw_pointer_mut
to free the value when
you’re done with it.source§unsafe fn from_raw_pointer_mut(
input: *mut CStringArray
) -> Result<CStringArray, UnexpectedNullPointerError>
unsafe fn from_raw_pointer_mut( input: *mut CStringArray ) -> Result<CStringArray, UnexpectedNullPointerError>
Takes back control of a raw pointer created by
Self::into_raw_pointer_mut
. Read moresource§unsafe fn from_raw_pointer(
input: *const CStringArray
) -> Result<CStringArray, UnexpectedNullPointerError>
unsafe fn from_raw_pointer( input: *const CStringArray ) -> Result<CStringArray, UnexpectedNullPointerError>
Takes back control of a raw pointer created by
Self::into_raw_pointer
. Read moresource§unsafe fn drop_raw_pointer(
input: *const T
) -> Result<(), UnexpectedNullPointerError>
unsafe fn drop_raw_pointer( input: *const T ) -> Result<(), UnexpectedNullPointerError>
Takes back control of a raw pointer created by
Self::into_raw_pointer
and drop it. Read moresource§unsafe fn drop_raw_pointer_mut(
input: *mut T
) -> Result<(), UnexpectedNullPointerError>
unsafe fn drop_raw_pointer_mut( input: *mut T ) -> Result<(), UnexpectedNullPointerError>
Takes back control of a raw pointer created by
Self::into_raw_pointer_mut
and drops it. Read more