Trait fourleaf::ser::Serialize
[−]
[src]
pub trait Serialize { fn serialize_element<R: Write>(
&self,
dst: &mut Stream<R>,
tag: u8
) -> Result<()>; fn serialize_body<R: Write>(&self, dst: &mut Stream<R>) -> Result<()> { ... } fn serialize_field<R: Write>(
&self,
dst: &mut Stream<R>,
tag: u8
) -> Result<()> { ... } fn serialize_slice<R: Write>(
selves: &[Self],
dst: &mut Stream<R>,
tag: u8
) -> Option<Result<()>>
where
Self: Sized, { ... } }
Trait for serialising values via fourleaf.
Required Methods
fn serialize_element<R: Write>(
&self,
dst: &mut Stream<R>,
tag: u8
) -> Result<()>
&self,
dst: &mut Stream<R>,
tag: u8
) -> Result<()>
Serialises this value, which is an element of a collection, to the given stream.
The callee must write exactly one field pair with a field tag of tag
to the stream.
Provided Methods
fn serialize_body<R: Write>(&self, dst: &mut Stream<R>) -> Result<()>
Serialises this value, which is at top-level or the tail part of a struct.
The callee shall write any number (including zero) of field elements
with balanced EndOfStruct
elements, followed by exactly one
EndOfStruct
element.
By default, this calls serialize_field
with a tag of 1 and then
writes an end-of-struct.
fn serialize_field<R: Write>(&self, dst: &mut Stream<R>, tag: u8) -> Result<()>
Serialises this value, which is a field of a struct, to the given stream.
The callee may write any number (including 0) of field pairs with a
field tag of tag
to the stream.
By default, this delegates to serialize_element
.
fn serialize_slice<R: Write>(
selves: &[Self],
dst: &mut Stream<R>,
tag: u8
) -> Option<Result<()>> where
Self: Sized,
selves: &[Self],
dst: &mut Stream<R>,
tag: u8
) -> Option<Result<()>> where
Self: Sized,
If slices of this type should be written specially, do so and return
Some
result. Otherwise, return None
.
If this does handle the value specially, it must write exactly one
field with the given tag to dst
.
This mainly exists so that [u8]
is serialised as a blob.
Implementors
impl<T: SerializeAs + ?Sized> Serialize for T
impl Serialize for ()
impl<T: ?Sized> Serialize for PhantomData<T>
impl Serialize for u8
impl Serialize for bool
impl Serialize for i8
impl Serialize for u16
impl Serialize for i16
impl Serialize for u32
impl Serialize for i32
impl Serialize for u64
impl Serialize for i64
impl Serialize for usize
impl Serialize for isize
impl Serialize for char
impl Serialize for String
impl Serialize for str
impl<F0: Serialize> Serialize for (F0,)
impl<F0: Serialize, F1: Serialize> Serialize for (F0, F1)
impl<F0: Serialize, F1: Serialize, F2: Serialize> Serialize for (F0, F1, F2)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize> Serialize for (F0, F1, F2, F3)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize> Serialize for (F0, F1, F2, F3, F4)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize> Serialize for (F0, F1, F2, F3, F4, F5)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize, F9: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize, F9: Serialize, F10: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize, F9: Serialize, F10: Serialize, F11: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize, F9: Serialize, F10: Serialize, F11: Serialize, F12: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize, F9: Serialize, F10: Serialize, F11: Serialize, F12: Serialize, F13: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize, F9: Serialize, F10: Serialize, F11: Serialize, F12: Serialize, F13: Serialize, F14: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)
impl<F0: Serialize, F1: Serialize, F2: Serialize, F3: Serialize, F4: Serialize, F5: Serialize, F6: Serialize, F7: Serialize, F8: Serialize, F9: Serialize, F10: Serialize, F11: Serialize, F12: Serialize, F13: Serialize, F14: Serialize, F15: Serialize> Serialize for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15)
impl<T: Serialize> Serialize for [T]
impl<T: Serialize> Serialize for LinkedList<T>
impl<T: Serialize> Serialize for VecDeque<T>
impl<T: Serialize> Serialize for Option<T>
impl<T: Serialize + Ord> Serialize for BTreeSet<T>
impl<T: Serialize + Eq + Hash, H: BuildHasher> Serialize for HashSet<T, H>
impl<T: Serialize + Ord> Serialize for BinaryHeap<T>
impl<K: Serialize + Ord, V: Serialize> Serialize for BTreeMap<K, V>
impl<K: Serialize + Hash + Eq, V: Serialize, H: BuildHasher> Serialize for HashMap<K, V, H>
impl<'a> Serialize for UnknownFields<'a>
impl<'a> Serialize for UnknownField<'a>
impl Serialize for Ipv4Addr
impl Serialize for Ipv6Addr
impl Serialize for IpAddr
impl Serialize for Duration
impl Serialize for SocketAddrV4
impl Serialize for SocketAddrV6
impl Serialize for SocketAddr
impl<T: Serialize, E: Serialize> Serialize for Result<T, E>