Struct fidl::encoding::FlexibleType
source · pub struct FlexibleType<T: TypeMarker>(/* private fields */);
Expand description
The FIDL union generated for flexible two-way methods without errors.
Trait Implementations§
source§impl<T: TypeMarker> TypeMarker for FlexibleType<T>
impl<T: TypeMarker> TypeMarker for FlexibleType<T>
§type Owned = Flexible<<T as TypeMarker>::Owned>
type Owned = Flexible<<T as TypeMarker>::Owned>
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.Auto Trait Implementations§
impl<T> Freeze for FlexibleType<T>
impl<T> RefUnwindSafe for FlexibleType<T>where
T: RefUnwindSafe,
impl<T> Send for FlexibleType<T>where
T: Send,
impl<T> Sync for FlexibleType<T>where
T: Sync,
impl<T> Unpin for FlexibleType<T>where
T: Unpin,
impl<T> UnwindSafe for FlexibleType<T>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