pub struct OptionalVector<'de, T> { /* private fields */ }Expand description
An optional FIDL vector
Implementations§
Source§impl<'de, T> OptionalVector<'de, T>
impl<'de, T> OptionalVector<'de, T>
Sourcepub fn encode_present(out: &mut MaybeUninit<Self>, len: u64)
pub fn encode_present(out: &mut MaybeUninit<Self>, len: u64)
Encodes that a vector is present in a slot.
Sourcepub fn encode_absent(out: &mut MaybeUninit<Self>)
pub fn encode_absent(out: &mut MaybeUninit<Self>)
Encodes that a vector is absent in a slot.
Sourcepub fn to_option(self) -> Option<Vector<'de, T>>
pub fn to_option(self) -> Option<Vector<'de, T>>
Converts the optional wire vector to an Option<WireVector>.
Sourcepub unsafe fn decode_raw<D>(
slot: Slot<'_, Self>,
decoder: &mut D,
max_len: u64,
) -> Result<(), DecodeError>
pub unsafe fn decode_raw<D>( slot: Slot<'_, Self>, decoder: &mut D, max_len: u64, ) -> Result<(), DecodeError>
Decodes a wire vector which contains raw data.
§Safety
The elements of the wire vector must not need to be individually decoded, and must always be valid.
Trait Implementations§
Source§impl<T: Constrained> Constrained for OptionalVector<'_, T>
impl<T: Constrained> Constrained for OptionalVector<'_, T>
Source§type Constraint = (u64, <T as Constrained>::Constraint)
type Constraint = (u64, <T as Constrained>::Constraint)
Type of constraint information for this type.
Source§fn validate(
slot: Slot<'_, Self>,
constraint: Self::Constraint,
) -> Result<(), ValidationError>
fn validate( slot: Slot<'_, Self>, constraint: Self::Constraint, ) -> Result<(), ValidationError>
Validate a slot of this type against a constraint. Can be called when
pointers/envelopes are just presence markers.
Source§impl<T: Debug> Debug for OptionalVector<'_, T>
impl<T: Debug> Debug for OptionalVector<'_, T>
Source§impl<'de, D, T> Decode<D> for OptionalVector<'de, T>
impl<'de, D, T> Decode<D> for OptionalVector<'de, T>
Source§fn decode(
slot: Slot<'_, Self>,
decoder: &mut D,
constraint: Self::Constraint,
) -> Result<(), DecodeError>
fn decode( slot: Slot<'_, Self>, decoder: &mut D, constraint: Self::Constraint, ) -> Result<(), DecodeError>
Decodes a value into a slot using a decoder. Read more
Source§impl<T> Drop for OptionalVector<'_, T>
impl<T> Drop for OptionalVector<'_, T>
Source§impl<'a, W, E, T> EncodeOption<OptionalVector<'static, W>, E> for &'a [T]
impl<'a, W, E, T> EncodeOption<OptionalVector<'static, W>, E> for &'a [T]
Source§fn encode_option(
this: Option<Self>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<OptionalVector<'static, W>>, constraint: (u64, <W as Constrained>::Constraint), ) -> Result<(), EncodeError>
Encodes this optional value into an encoder and output.
Source§impl<'a, W, E, T, const N: usize> EncodeOption<OptionalVector<'static, W>, E> for &'a [T; N]
impl<'a, W, E, T, const N: usize> EncodeOption<OptionalVector<'static, W>, E> for &'a [T; N]
Source§fn encode_option(
this: Option<Self>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<OptionalVector<'static, W>>, constraint: (u64, <W as Constrained>::Constraint), ) -> Result<(), EncodeError>
Encodes this optional value into an encoder and output.
Source§impl<'a, W, E, T> EncodeOption<OptionalVector<'static, W>, E> for &'a Vec<T>
impl<'a, W, E, T> EncodeOption<OptionalVector<'static, W>, E> for &'a Vec<T>
Source§fn encode_option(
this: Option<Self>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<OptionalVector<'static, W>>, constraint: (u64, <W as Constrained>::Constraint), ) -> Result<(), EncodeError>
Encodes this optional value into an encoder and output.
Source§impl<W, E, T, const N: usize> EncodeOption<OptionalVector<'static, W>, E> for [T; N]
impl<W, E, T, const N: usize> EncodeOption<OptionalVector<'static, W>, E> for [T; N]
Source§fn encode_option(
this: Option<Self>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<OptionalVector<'static, W>>, constraint: (u64, <W as Constrained>::Constraint), ) -> Result<(), EncodeError>
Encodes this optional value into an encoder and output.
Source§impl<W, E, T> EncodeOption<OptionalVector<'static, W>, E> for Vec<T>
impl<W, E, T> EncodeOption<OptionalVector<'static, W>, E> for Vec<T>
Source§fn encode_option(
this: Option<Self>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Self>, encoder: &mut E, out: &mut MaybeUninit<OptionalVector<'static, W>>, constraint: (u64, <W as Constrained>::Constraint), ) -> Result<(), EncodeError>
Encodes this optional value into an encoder and output.
Source§impl<T: FromWire<W>, W> FromWireOption<OptionalVector<'_, W>> for Vec<T>
impl<T: FromWire<W>, W> FromWireOption<OptionalVector<'_, W>> for Vec<T>
Source§fn from_wire_option(wire: OptionalVector<'_, W>) -> Option<Self>
fn from_wire_option(wire: OptionalVector<'_, W>) -> Option<Self>
Converts the given owned value to an option of this type.
Source§impl<T: FromWireRef<W>, W> FromWireOptionRef<OptionalVector<'_, W>> for Vec<T>
impl<T: FromWireRef<W>, W> FromWireOptionRef<OptionalVector<'_, W>> for Vec<T>
Source§fn from_wire_option_ref(wire: &OptionalVector<'_, W>) -> Option<Self>
fn from_wire_option_ref(wire: &OptionalVector<'_, W>) -> Option<Self>
Converts the given reference to an option of this type.
Source§impl<T: IntoNatural> IntoNatural for OptionalVector<'_, T>
impl<T: IntoNatural> IntoNatural for OptionalVector<'_, T>
Source§impl<T, U> PartialEq<Option<U>> for OptionalVector<'_, T>
impl<T, U> PartialEq<Option<U>> for OptionalVector<'_, T>
Source§impl<T: Wire> Wire for OptionalVector<'static, T>
impl<T: Wire> Wire for OptionalVector<'static, T>
Source§type Narrowed<'de> = OptionalVector<'de, <T as Wire>::Narrowed<'de>>
type Narrowed<'de> = OptionalVector<'de, <T as Wire>::Narrowed<'de>>
The narrowed wire type, restricted to the
'de lifetime.Source§fn zero_padding(out: &mut MaybeUninit<Self>)
fn zero_padding(out: &mut MaybeUninit<Self>)
Writes zeroes to the padding for this type, if any.
Auto Trait Implementations§
impl<'de, T> Freeze for OptionalVector<'de, T>
impl<'de, T> RefUnwindSafe for OptionalVector<'de, T>where
T: RefUnwindSafe,
impl<'de, T> Send for OptionalVector<'de, T>where
T: Send,
impl<'de, T> Sync for OptionalVector<'de, T>where
T: Sync,
impl<'de, T> Unpin for OptionalVector<'de, T>
impl<'de, T> !UnwindSafe for OptionalVector<'de, T>
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