Trait serde::ser::SerializeStructVariant [] [src]

pub trait SerializeStructVariant {
    type Ok;
    type Error: Error;
    fn serialize_field<T: ?Sized + Serialize>(
        &mut self,
        key: &'static str,
        value: &T
    ) -> Result<(), Self::Error>;
fn end(self) -> Result<Self::Ok, Self::Error>; }

Returned from Serializer::serialize_struct_variant.

This example is not tested
match *self {
    E::S { ref r, ref g, ref b } => {
        let mut sv = serializer.serialize_struct_variant("E", 0, "S", 3)?;
        sv.serialize_field("r", r)?;
        sv.serialize_field("g", g)?;
        sv.serialize_field("b", b)?;
        sv.end()
    }
}

Associated Types

Must match the Ok type of our Serializer.

Must match the Error type of our Serializer.

Required Methods

Serialize a struct variant field.

Finish serializing a struct variant.

Implementors