mesh::payload::table::decode

Trait StructDecodeMetadata

Source
pub unsafe trait StructDecodeMetadata<'de, R>: StructMetadata {
    const DECODERS: &'static [ErasedDecoderEntry];
}
Expand description

The struct metadata for decoding a struct.

§Safety

The implementor must ensure that the DECODERS are correct and complete for Self, such that if every field is decoded, then the struct value is valid.

Required Associated Constants§

Source

const DECODERS: &'static [ErasedDecoderEntry]

The list of decoder vtables.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'de, R> StructDecodeMetadata<'de, R> for ()

Source§

impl<'de, R, E0> StructDecodeMetadata<'de, R> for (E0,)
where E0: DefaultEncoding, <E0 as DefaultEncoding>::Encoding: FieldDecode<'de, E0, R>,

Source§

impl<'de, R, E0, E1> StructDecodeMetadata<'de, R> for (E0, E1)
where E0: DefaultEncoding, E1: DefaultEncoding, <E0 as DefaultEncoding>::Encoding: FieldDecode<'de, E0, R>, <E1 as DefaultEncoding>::Encoding: FieldDecode<'de, E1, R>,

Source§

impl<'de, R, E0, E1, E2> StructDecodeMetadata<'de, R> for (E0, E1, E2)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, <E0 as DefaultEncoding>::Encoding: FieldDecode<'de, E0, R>, <E1 as DefaultEncoding>::Encoding: FieldDecode<'de, E1, R>, <E2 as DefaultEncoding>::Encoding: FieldDecode<'de, E2, R>,

Source§

impl<'de, R, E0, E1, E2, E3> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, <E0 as DefaultEncoding>::Encoding: FieldDecode<'de, E0, R>, <E1 as DefaultEncoding>::Encoding: FieldDecode<'de, E1, R>, <E2 as DefaultEncoding>::Encoding: FieldDecode<'de, E2, R>, <E3 as DefaultEncoding>::Encoding: FieldDecode<'de, E3, R>,

Source§

impl<'de, R, E0, E1, E2, E3, E4> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3, E4)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, E4: DefaultEncoding, <E0 as DefaultEncoding>::Encoding: FieldDecode<'de, E0, R>, <E1 as DefaultEncoding>::Encoding: FieldDecode<'de, E1, R>, <E2 as DefaultEncoding>::Encoding: FieldDecode<'de, E2, R>, <E3 as DefaultEncoding>::Encoding: FieldDecode<'de, E3, R>, <E4 as DefaultEncoding>::Encoding: FieldDecode<'de, E4, R>,

Source§

impl<'de, R, E0, E1, E2, E3, E4, E5> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3, E4, E5)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, E4: DefaultEncoding, E5: DefaultEncoding, <E0 as DefaultEncoding>::Encoding: FieldDecode<'de, E0, R>, <E1 as DefaultEncoding>::Encoding: FieldDecode<'de, E1, R>, <E2 as DefaultEncoding>::Encoding: FieldDecode<'de, E2, R>, <E3 as DefaultEncoding>::Encoding: FieldDecode<'de, E3, R>, <E4 as DefaultEncoding>::Encoding: FieldDecode<'de, E4, R>, <E5 as DefaultEncoding>::Encoding: FieldDecode<'de, E5, R>,

Source§

impl<'de, R, E0, E1, E2, E3, E4, E5, E6> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3, E4, E5, E6)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, E4: DefaultEncoding, E5: DefaultEncoding, E6: DefaultEncoding, <E0 as DefaultEncoding>::Encoding: FieldDecode<'de, E0, R>, <E1 as DefaultEncoding>::Encoding: FieldDecode<'de, E1, R>, <E2 as DefaultEncoding>::Encoding: FieldDecode<'de, E2, R>, <E3 as DefaultEncoding>::Encoding: FieldDecode<'de, E3, R>, <E4 as DefaultEncoding>::Encoding: FieldDecode<'de, E4, R>, <E5 as DefaultEncoding>::Encoding: FieldDecode<'de, E5, R>, <E6 as DefaultEncoding>::Encoding: FieldDecode<'de, E6, R>,

Source§

impl<'encoding, T, AnyR> StructDecodeMetadata<'encoding, AnyR> for Range<T>
where AnyR: 'static, T: DefaultEncoding, <T as DefaultEncoding>::Encoding: FieldDecode<'encoding, T, AnyR>,

Implementors§

Source§

impl<'encoding> StructDecodeMetadata<'encoding, Resource> for WritePipe

Source§

impl<'encoding> StructDecodeMetadata<'encoding, Resource> for CancelContext

Source§

impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for RemoteError
where AnyR: 'static,

Source§

impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for Address
where AnyR: 'static,

Source§

impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for NodeId
where AnyR: 'static,

Source§

impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for PortId
where AnyR: 'static,

Source§

impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for Uuid
where AnyR: 'static,

Source§

impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for ProtobufAny
where AnyR: 'static,

Source§

impl<'encoding, AnyR> StructDecodeMetadata<'encoding, AnyR> for Timestamp
where AnyR: 'static,

Source§

impl<'encoding, I, R> StructDecodeMetadata<'encoding, Resource> for Rpc<I, R>
where I: 'static + MeshField + Send, R: 'static + MeshField + Send,

Source§

impl<'encoding, T> StructDecodeMetadata<'encoding, Resource> for Cell<T>
where T: 'static + MeshField + Send + Sync + Clone,

Source§

impl<'encoding, T> StructDecodeMetadata<'encoding, Resource> for CellUpdater<T>
where T: DefaultEncoding, <T as DefaultEncoding>::Encoding: FieldDecode<'encoding, T, Resource>,