Macro zero_formatter::object_formatter [] [src]

macro_rules! object_formatter {
    (#[target($buffer:ty)]
    $name:ident {
        $($index:expr; $field_name:ident: $field_type:ty),*
    }) => { ... };
}

object_formatter define struct type and provide formatter. object_formatter support versioning.

object_formatter! {
    #[target(Buffer<Cursor<Vec<u8>>>)]
    ObjectSample {
        0; a: i32,
        1; b: i64
    }
}

try!(writer.serialize(0, ObjectSample { a: 1, b: 2 }));