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<OptionalVector<'de, T>>, len: u64)
pub fn encode_present(out: &mut MaybeUninit<OptionalVector<'de, T>>, len: u64)
Encodes that a vector is present in a slot.
Sourcepub fn encode_absent(out: &mut MaybeUninit<OptionalVector<'de, T>>)
pub fn encode_absent(out: &mut MaybeUninit<OptionalVector<'de, T>>)
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<'_, OptionalVector<'de, T>>,
decoder: &mut D,
max_len: u64,
) -> Result<(), DecodeError>
pub unsafe fn decode_raw<D>( slot: Slot<'_, OptionalVector<'de, T>>, 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 for OptionalVector<'_, T>where
T: Constrained,
impl<T> Constrained for OptionalVector<'_, T>where
T: Constrained,
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<'_, OptionalVector<'_, T>>,
constraint: <OptionalVector<'_, T> as Constrained>::Constraint,
) -> Result<(), ValidationError>
fn validate( slot: Slot<'_, OptionalVector<'_, T>>, constraint: <OptionalVector<'_, T> as Constrained>::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 for OptionalVector<'_, T>where
T: Debug,
impl<T> Debug for OptionalVector<'_, T>where
T: Debug,
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<'_, OptionalVector<'de, T>>,
decoder: &mut D,
constraint: <OptionalVector<'de, T> as Constrained>::Constraint,
) -> Result<(), DecodeError>
fn decode( slot: Slot<'_, OptionalVector<'de, T>>, decoder: &mut D, constraint: <OptionalVector<'de, T> as Constrained>::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<&'a [T]>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<&'a [T]>, 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<&'a [T; N]>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<&'a [T; N]>, 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<&'a Vec<T>>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<&'a Vec<T>>, 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<[T; N]>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<[T; N]>, 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<Vec<T>>,
encoder: &mut E,
out: &mut MaybeUninit<OptionalVector<'static, W>>,
constraint: (u64, <W as Constrained>::Constraint),
) -> Result<(), EncodeError>
fn encode_option( this: Option<Vec<T>>, 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, W> FromWireOption<OptionalVector<'_, W>> for Vec<T>where
T: FromWire<W>,
impl<T, W> FromWireOption<OptionalVector<'_, W>> for Vec<T>where
T: FromWire<W>,
Source§fn from_wire_option(wire: OptionalVector<'_, W>) -> Option<Vec<T>>
fn from_wire_option(wire: OptionalVector<'_, W>) -> Option<Vec<T>>
Converts the given owned value to an option of this type.
Source§impl<T, W> FromWireOptionRef<OptionalVector<'_, W>> for Vec<T>where
T: FromWireRef<W>,
impl<T, W> FromWireOptionRef<OptionalVector<'_, W>> for Vec<T>where
T: FromWireRef<W>,
Source§fn from_wire_option_ref(wire: &OptionalVector<'_, W>) -> Option<Vec<T>>
fn from_wire_option_ref(wire: &OptionalVector<'_, W>) -> Option<Vec<T>>
Converts the given reference to an option of this type.
Source§impl<T> IntoNatural for OptionalVector<'_, T>where
T: IntoNatural,
impl<T> IntoNatural for OptionalVector<'_, T>where
T: IntoNatural,
Source§impl<T, U> PartialEq<Option<U>> for OptionalVector<'_, T>
impl<T, U> PartialEq<Option<U>> for OptionalVector<'_, T>
Source§impl<T> Wire for OptionalVector<'static, T>where
T: Wire,
impl<T> Wire for OptionalVector<'static, T>where
T: Wire,
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<OptionalVector<'static, T>>)
fn zero_padding(out: &mut MaybeUninit<OptionalVector<'static, T>>)
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> UnsafeUnpin 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
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
Source§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
Converts the given service transport handle of type
T to Self