Struct Vector
pub struct Vector<T, const N: usize>(/* private fields */)
where
T: TypeMarker;
Expand description
The FIDL type vector<T>:N
.
Trait Implementations§
§impl<T, const N: usize, D> Decode<Vector<T, N>, D> for Vec<<T as TypeMarker>::Owned>
impl<T, const N: usize, D> Decode<Vector<T, N>, D> for Vec<<T as TypeMarker>::Owned>
§fn new_empty() -> Vec<<T as TypeMarker>::Owned>
fn new_empty() -> Vec<<T as TypeMarker>::Owned>
Creates a valid instance of
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl<T, const N: usize, D> Encode<Vector<T, N>, D> for &[<T as TypeMarker>::Owned]where
T: ValueTypeMarker,
D: ResourceDialect,
<T as ValueTypeMarker>::Borrowed<'q>: for<'q> Encode<T, D>,
impl<T, const N: usize, D> Encode<Vector<T, N>, D> for &[<T as TypeMarker>::Owned]where
T: ValueTypeMarker,
D: ResourceDialect,
<T as ValueTypeMarker>::Borrowed<'q>: for<'q> Encode<T, D>,
§impl<T, const N: usize, D> Encode<Vector<T, N>, D> for &mut [<T as TypeMarker>::Owned]where
T: ResourceTypeMarker + TypeMarker,
D: ResourceDialect,
<T as ResourceTypeMarker>::Borrowed<'q>: for<'q> Encode<T, D>,
impl<T, const N: usize, D> Encode<Vector<T, N>, D> for &mut [<T as TypeMarker>::Owned]where
T: ResourceTypeMarker + TypeMarker,
D: ResourceDialect,
<T as ResourceTypeMarker>::Borrowed<'q>: for<'q> Encode<T, D>,
§impl<T, const N: usize> ResourceTypeMarker for Vector<T, N>where
T: ResourceTypeMarker,
impl<T, const N: usize> ResourceTypeMarker for Vector<T, N>where
T: ResourceTypeMarker,
§type Borrowed<'a> = &'a mut [<T as TypeMarker>::Owned]
type Borrowed<'a> = &'a mut [<T as TypeMarker>::Owned]
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 more§fn take_or_borrow(
value: &mut <Vector<T, N> as TypeMarker>::Owned,
) -> <Vector<T, N> as ResourceTypeMarker>::Borrowed<'_>
fn take_or_borrow( value: &mut <Vector<T, N> as TypeMarker>::Owned, ) -> <Vector<T, N> as ResourceTypeMarker>::Borrowed<'_>
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).§impl<T, const N: usize> TypeMarker for Vector<T, N>where
T: TypeMarker,
impl<T, const N: usize> TypeMarker for Vector<T, N>where
T: TypeMarker,
§type Owned = Vec<<T as TypeMarker>::Owned>
type Owned = Vec<<T as TypeMarker>::Owned>
The owned Rust type which this FIDL type decodes into.
§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.
§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
.§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 more§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.§impl<T, const N: usize> ValueTypeMarker for Vector<T, N>where
T: ValueTypeMarker,
impl<T, const N: usize> ValueTypeMarker for Vector<T, N>where
T: ValueTypeMarker,
§type Borrowed<'a> = &'a [<T as TypeMarker>::Owned]
type Borrowed<'a> = &'a [<T as TypeMarker>::Owned]
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<Vector<T, N> as TypeMarker>::Owned,
) -> <Vector<T, N> as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<Vector<T, N> as TypeMarker>::Owned, ) -> <Vector<T, N> as ValueTypeMarker>::Borrowed<'_>
Cheaply converts from
&Self::Owned
to Self::Borrowed
.Auto Trait Implementations§
impl<T, const N: usize> Freeze for Vector<T, N>
impl<T, const N: usize> RefUnwindSafe for Vector<T, N>where
T: RefUnwindSafe,
impl<T, const N: usize> Send for Vector<T, N>where
T: Send,
impl<T, const N: usize> Sync for Vector<T, N>where
T: Sync,
impl<T, const N: usize> Unpin for Vector<T, N>where
T: Unpin,
impl<T, const N: usize> UnwindSafe for Vector<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