[][src]Function fixed_width::to_writer

pub fn to_writer<'w, T, W>(wrtr: &'w mut W, val: &T) -> Result<()> where
    T: FixedWidth + Serialize,
    W: 'w + Write

Serializes a type that implements FixedWidth to the given writer. Similar to to_writer_with_fields, but this function uses the fields defined in the trait implementation.

Example

#[macro_use]
extern crate serde_derive;
extern crate serde;
extern crate fixed_width;

use fixed_width::{Field, FixedWidth, Writer, to_writer};

#[derive(Serialize)]
struct Person {
    pub name: String,
    pub age: usize,
}

impl FixedWidth for Person {
    fn fields() -> Vec<Field> {
        vec![
            Field::default().range(0..8),
            Field::default().range(8..10),
        ]
    }
}

fn main() {
    let mut w = Writer::from_memory();

    let person = Person {
        name: "coolname".to_string(),
        age: 25,
    };

    to_writer(&mut w, &person).unwrap();

    let s: String = w.into();
    assert_eq!("coolname25", s);
}