SchemaWrite

Trait SchemaWrite 

Source
pub trait SchemaWrite {
    type Src: ?Sized;

    const TYPE_META: TypeMeta = TypeMeta::Dynamic;

    // Required methods
    fn size_of(src: &Self::Src) -> WriteResult<usize>;
    fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>;
}
Expand description

Types that can be written (serialized) to a Writer.

Provided Associated Constants§

Source

const TYPE_META: TypeMeta = TypeMeta::Dynamic

Required Associated Types§

Required Methods§

Source

fn size_of(src: &Self::Src) -> WriteResult<usize>

Get the serialized size of Self::Src.

Source

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Write Self::Src to writer.

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 SchemaWrite for bool

Source§

const TYPE_META: TypeMeta

Source§

type Src = bool

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for char

Source§

type Src = char

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for f32

Source§

const TYPE_META: TypeMeta

Source§

type Src = f32

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for f64

Source§

const TYPE_META: TypeMeta

Source§

type Src = f64

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for i8

Source§

const TYPE_META: TypeMeta

Source§

type Src = i8

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for i16

Source§

const TYPE_META: TypeMeta

Source§

type Src = i16

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for i32

Source§

const TYPE_META: TypeMeta

Source§

type Src = i32

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for i64

Source§

const TYPE_META: TypeMeta

Source§

type Src = i64

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for i128

Source§

const TYPE_META: TypeMeta

Source§

type Src = i128

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for isize

Source§

const TYPE_META: TypeMeta

Source§

type Src = isize

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for str

Source§

type Src = str

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for u8

Source§

const TYPE_META: TypeMeta

Source§

type Src = u8

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for u16

Source§

const TYPE_META: TypeMeta

Source§

type Src = u16

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for u32

Source§

const TYPE_META: TypeMeta

Source§

type Src = u32

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for u64

Source§

const TYPE_META: TypeMeta

Source§

type Src = u64

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for u128

Source§

const TYPE_META: TypeMeta

Source§

type Src = u128

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for ()

Source§

const TYPE_META: TypeMeta

Source§

type Src = ()

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(_writer: &mut impl Writer, _src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for usize

Source§

const TYPE_META: TypeMeta

Source§

type Src = usize

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl SchemaWrite for String

Available on crate feature alloc only.
Source§

type Src = String

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl<'a, T> SchemaWrite for &'a T
where T: SchemaWrite + ?Sized,

Source§

const TYPE_META: TypeMeta = T::TYPE_META

Source§

type Src = &'a <T as SchemaWrite>::Src

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B> SchemaWrite for (A, B)
where A: SchemaWrite, B: SchemaWrite, A::Src: Sized, B::Src: Sized,

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C> SchemaWrite for (A, B, C)
where A: SchemaWrite, B: SchemaWrite, C: SchemaWrite, A::Src: Sized, B::Src: Sized, C::Src: Sized,

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D> SchemaWrite for (A, B, C, D)
where A: SchemaWrite, B: SchemaWrite, C: SchemaWrite, D: SchemaWrite, A::Src: Sized, B::Src: Sized, C::Src: Sized, D::Src: Sized,

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E> SchemaWrite for (A, B, C, D, E)
where A: SchemaWrite, B: SchemaWrite, C: SchemaWrite, D: SchemaWrite, E: SchemaWrite, A::Src: Sized, B::Src: Sized, C::Src: Sized, D::Src: Sized, E::Src: Sized,

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F> SchemaWrite for (A, B, C, D, E, F)
where A: SchemaWrite, B: SchemaWrite, C: SchemaWrite, D: SchemaWrite, E: SchemaWrite, F: SchemaWrite, A::Src: Sized, B::Src: Sized, C::Src: Sized, D::Src: Sized, E::Src: Sized, F::Src: Sized,

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G> SchemaWrite for (A, B, C, D, E, F, G)
where A: SchemaWrite, B: SchemaWrite, C: SchemaWrite, D: SchemaWrite, E: SchemaWrite, F: SchemaWrite, G: SchemaWrite, A::Src: Sized, B::Src: Sized, C::Src: Sized, D::Src: Sized, E::Src: Sized, F::Src: Sized, G::Src: Sized,

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H> SchemaWrite for (A, B, C, D, E, F, G, H)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I> SchemaWrite for (A, B, C, D, E, F, G, H, I)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I, J> SchemaWrite for (A, B, C, D, E, F, G, H, I, J)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src, <J as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I, J, K> SchemaWrite for (A, B, C, D, E, F, G, H, I, J, K)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src, <J as SchemaWrite>::Src, <K as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I, J, K, L> SchemaWrite for (A, B, C, D, E, F, G, H, I, J, K, L)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src, <J as SchemaWrite>::Src, <K as SchemaWrite>::Src, <L as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> SchemaWrite for (A, B, C, D, E, F, G, H, I, J, K, L, M)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src, <J as SchemaWrite>::Src, <K as SchemaWrite>::Src, <L as SchemaWrite>::Src, <M as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> SchemaWrite for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src, <J as SchemaWrite>::Src, <K as SchemaWrite>::Src, <L as SchemaWrite>::Src, <M as SchemaWrite>::Src, <N as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> SchemaWrite for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src, <J as SchemaWrite>::Src, <K as SchemaWrite>::Src, <L as SchemaWrite>::Src, <M as SchemaWrite>::Src, <N as SchemaWrite>::Src, <O as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> SchemaWrite for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

§

const TYPE_META: TypeMeta

§

type Src = (<A as SchemaWrite>::Src, <B as SchemaWrite>::Src, <C as SchemaWrite>::Src, <D as SchemaWrite>::Src, <E as SchemaWrite>::Src, <F as SchemaWrite>::Src, <G as SchemaWrite>::Src, <H as SchemaWrite>::Src, <I as SchemaWrite>::Src, <J as SchemaWrite>::Src, <K as SchemaWrite>::Src, <L as SchemaWrite>::Src, <M as SchemaWrite>::Src, <N as SchemaWrite>::Src, <O as SchemaWrite>::Src, <P as SchemaWrite>::Src)

§

fn size_of(value: &Self::Src) -> WriteResult<usize>

§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<K, V> SchemaWrite for BTreeMap<K, V>
where K: SchemaWrite, K::Src: Sized, V: SchemaWrite, V::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = BTreeMap<<K as SchemaWrite>::Src, <V as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl<K, V> SchemaWrite for HashMap<K, V>
where K: SchemaWrite, K::Src: Sized, V: SchemaWrite, V::Src: Sized,

Available on crate feature std only.
Source§

type Src = HashMap<<K as SchemaWrite>::Src, <V as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl<K: SchemaWrite> SchemaWrite for BTreeSet<K>
where K::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = BTreeSet<<K as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl<K: SchemaWrite> SchemaWrite for LinkedList<K>
where K::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = LinkedList<<K as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl<K: SchemaWrite> SchemaWrite for HashSet<K>
where K::Src: Sized,

Available on crate feature std only.
Source§

type Src = HashSet<<K as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Option<T>
where T: SchemaWrite, T::Src: Sized,

Source§

type Src = Option<<T as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for [T]
where T: SchemaWrite, T::Src: Sized,

Source§

type Src = [<T as SchemaWrite>::Src]

Source§

fn size_of(value: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Box<[T]>
where T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Box<[<T as SchemaWrite>::Src]>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Box<T>
where T: SchemaWrite,

Available on crate feature alloc only.
Source§

const TYPE_META: TypeMeta

Source§

type Src = Box<<T as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for BinaryHeap<T>
where T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = BinaryHeap<<T as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for VecDeque<T>
where T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = VecDeque<<T as SchemaWrite>::Src>

Source§

fn size_of(value: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Rc<[T]>
where T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Rc<[<T as SchemaWrite>::Src]>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Rc<T>
where T: SchemaWrite,

Available on crate feature alloc only.
Source§

const TYPE_META: TypeMeta

Source§

type Src = Rc<<T as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Arc<[T]>
where T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Arc<[<T as SchemaWrite>::Src]>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Arc<T>
where T: SchemaWrite,

Available on crate feature alloc only.
Source§

const TYPE_META: TypeMeta

Source§

type Src = Arc<<T as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for Vec<T>
where T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Vec<<T as SchemaWrite>::Src>

Source§

fn size_of(value: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T> SchemaWrite for PhantomData<T>

Source§

const TYPE_META: TypeMeta

Source§

type Src = PhantomData<T>

Source§

fn size_of(_src: &Self::Src) -> WriteResult<usize>

Source§

fn write(_writer: &mut impl Writer, _src: &Self::Src) -> WriteResult<()>

Source§

impl<T, E> SchemaWrite for Result<T, E>
where T: SchemaWrite, E: SchemaWrite, T::Src: Sized, E::Src: Sized,

Source§

const TYPE_META: TypeMeta

Source§

type Src = Result<<T as SchemaWrite>::Src, <E as SchemaWrite>::Src>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Source§

impl<T, const N: usize> SchemaWrite for [T; N]
where T: SchemaWrite, T::Src: Sized,

Source§

const TYPE_META: TypeMeta

Source§

type Src = [<T as SchemaWrite>::Src; N]

Source§

fn size_of(value: &Self::Src) -> WriteResult<usize>

Source§

fn write(writer: &mut impl Writer, value: &Self::Src) -> WriteResult<()>

Implementors§

Source§

impl<T> SchemaWrite for Elem<T>
where T: SchemaWrite,

Source§

const TYPE_META: TypeMeta = T::TYPE_META

Source§

type Src = <T as SchemaWrite>::Src

Source§

impl<T> SchemaWrite for Pod<T>
where T: Copy + 'static,

Source§

impl<T, Len> SchemaWrite for wincode::containers::Arc<[T], Len>
where Len: SeqLen, T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Arc<[<T as SchemaWrite>::Src]>

Source§

impl<T, Len> SchemaWrite for wincode::containers::BinaryHeap<T, Len>
where Len: SeqLen, T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

impl<T, Len> SchemaWrite for wincode::containers::Box<[T], Len>
where Len: SeqLen, T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Box<[<T as SchemaWrite>::Src]>

Source§

impl<T, Len> SchemaWrite for wincode::containers::Rc<[T], Len>
where Len: SeqLen, T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Rc<[<T as SchemaWrite>::Src]>

Source§

impl<T, Len> SchemaWrite for wincode::containers::Vec<T, Len>
where Len: SeqLen, T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.
Source§

type Src = Vec<<T as SchemaWrite>::Src>

Source§

impl<T, Len> SchemaWrite for wincode::containers::VecDeque<T, Len>
where Len: SeqLen, T: SchemaWrite, T::Src: Sized,

Available on crate feature alloc only.