add basic type serialisation (bool, char and numbers)
This commit is contained in:
parent
455ba9aa43
commit
c97d1d21f9
@ -8,6 +8,7 @@ extern crate xml;
|
|||||||
extern crate yaserde_derive;
|
extern crate yaserde_derive;
|
||||||
|
|
||||||
use std::io::{Read, Write};
|
use std::io::{Read, Write};
|
||||||
|
use xml::writer::XmlEvent;
|
||||||
|
|
||||||
pub mod de;
|
pub mod de;
|
||||||
pub mod ser;
|
pub mod ser;
|
||||||
@ -36,3 +37,33 @@ pub trait Visitor<'de>: Sized {
|
|||||||
self.visit_str(&v)
|
self.visit_str(&v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macro_rules! serialize_type {
|
||||||
|
($type:ty) => (
|
||||||
|
impl YaSerialize for $type {
|
||||||
|
fn serialize<W: Write>(&self, writer: &mut ser::Serializer<W>) -> Result<(), String> {
|
||||||
|
let content = format!("{}", self);
|
||||||
|
let event = XmlEvent::characters(&content);
|
||||||
|
let _ret = writer.write(event);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
serialize_type!(bool);
|
||||||
|
serialize_type!(char);
|
||||||
|
|
||||||
|
serialize_type!(u8);
|
||||||
|
serialize_type!(u16);
|
||||||
|
serialize_type!(u32);
|
||||||
|
serialize_type!(u64);
|
||||||
|
|
||||||
|
serialize_type!(i8);
|
||||||
|
serialize_type!(i16);
|
||||||
|
serialize_type!(i32);
|
||||||
|
serialize_type!(i64);
|
||||||
|
|
||||||
|
serialize_type!(f32);
|
||||||
|
serialize_type!(f64);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user