pub struct Array<T: TypeMarker, const N: usize>(_);
Expand description
The FIDL type array<T, N>
.
Trait Implementations§
source§impl<T: TypeMarker, const N: usize> Decode<Array<T, N>> for [T::Owned; N]
impl<T: TypeMarker, const N: usize> Decode<Array<T, N>> for [T::Owned; N]
source§impl<'a, T: ResourceTypeMarker, const N: usize> Encode<Array<T, N>> for &'a mut [T::Owned; N]
impl<'a, T: ResourceTypeMarker, const N: usize> Encode<Array<T, N>> for &'a mut [T::Owned; N]
source§impl<T: ResourceTypeMarker, const N: usize> ResourceTypeMarker for Array<T, N>
impl<T: ResourceTypeMarker, const N: usize> ResourceTypeMarker for Array<T, N>
§type Borrowed<'a> = &'a mut [<T as TypeMarker>::Owned; N]
type Borrowed<'a> = &'a mut [<T as TypeMarker>::Owned; N]
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &mut Self::Owned
. There are three cases: Read moresource§fn take_or_borrow<'a>(value: &'a mut Self::Owned) -> Self::Borrowed<'a>
fn take_or_borrow<'a>(value: &'a mut Self::Owned) -> Self::Borrowed<'a>
Cheaply converts from
&mut Self::Owned
to Self::Borrowed
. For
HandleBased
types this is “take” (it returns an owned handle and
replaces value
with Handle::invalid
), and for all other types it is
“borrow” (just converts from one reference to another).source§impl<T: TypeMarker, const N: usize> TypeMarker for Array<T, N>
impl<T: TypeMarker, const N: usize> TypeMarker for Array<T, N>
§type Owned = [<T as TypeMarker>::Owned; N]
type Owned = [<T as TypeMarker>::Owned; N]
The owned Rust type which this FIDL type decodes into.
source§fn inline_align(context: Context) -> usize
fn inline_align(context: Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
source§fn inline_size(context: Context) -> usize
fn inline_size(context: Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for alignment. Must be a multiple of
inline_align
.source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read moresource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.source§impl<T: ValueTypeMarker, const N: usize> ValueTypeMarker for Array<T, N>
impl<T: ValueTypeMarker, const N: usize> ValueTypeMarker for Array<T, N>
Auto Trait Implementations§
impl<T, const N: usize> RefUnwindSafe for Array<T, N>where T: RefUnwindSafe,
impl<T, const N: usize> Send for Array<T, N>where T: Send,
impl<T, const N: usize> Sync for Array<T, N>where T: Sync,
impl<T, const N: usize> Unpin for Array<T, N>where T: Unpin,
impl<T, const N: usize> UnwindSafe for Array<T, N>where T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more