Trait rkyv::Serialize [−][src]
pub trait Serialize<S: Fallible + ?Sized>: Archive { fn serialize(&self, serializer: &mut S) -> Result<Self::Resolver, S::Error>; }
Expand description
Converts a type to its archived form.
Objects perform any supportive serialization during serialize
. For
types that reference nonlocal (pointed-to) data, this is when that data must be serialized to
the output. These types will need to bound S
to implement Serializer
and
any other required traits (e.g. SharedSerializeRegistry
). They
should then serialize their dependencies during serialize
.
See Archive
for examples of implementing Serialize
.
Required methods
Implementations on Foreign Types
impl<T: ?Sized, S: ?Sized> Serialize<S> for Rc<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T: ?Sized, S: ?Sized> Serialize<S> for Rc<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T: ?Sized, S: ?Sized> Serialize<S> for Weak<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T: ?Sized, S: ?Sized> Serialize<S> for Weak<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T: ?Sized, S: ?Sized> Serialize<S> for Arc<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T: ?Sized, S: ?Sized> Serialize<S> for Arc<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T: ?Sized, S: ?Sized> Serialize<S> for Weak<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T: ?Sized, S: ?Sized> Serialize<S> for Weak<T> where
T: SerializeUnsized<S> + 'static,
S: Serializer + SharedSerializeRegistry,
impl<T11: Serialize<S>, T10: Serialize<S>, T9: Serialize<S>, T8: Serialize<S>, T7: Serialize<S>, T6: Serialize<S>, T5: Serialize<S>, T4: Serialize<S>, T3: Serialize<S>, T2: Serialize<S>, T1: Serialize<S>, T0: Serialize<S>, S: Fallible + ?Sized> Serialize<S> for (T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)
impl<T11: Serialize<S>, T10: Serialize<S>, T9: Serialize<S>, T8: Serialize<S>, T7: Serialize<S>, T6: Serialize<S>, T5: Serialize<S>, T4: Serialize<S>, T3: Serialize<S>, T2: Serialize<S>, T1: Serialize<S>, T0: Serialize<S>, S: Fallible + ?Sized> Serialize<S> for (T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)