diff --git a/yaserde/src/de/mod.rs b/yaserde/src/de/mod.rs index 227ca0e..68938e1 100644 --- a/yaserde/src/de/mod.rs +++ b/yaserde/src/de/mod.rs @@ -1,3 +1,6 @@ +//! Generic data structure deserialization framework. +//! + use std::io::Read; use xml::name::OwnedName; use xml::reader::{EventReader, ParserConfig, XmlEvent}; diff --git a/yaserde/src/lib.rs b/yaserde/src/lib.rs index 7690ea3..e5452b6 100644 --- a/yaserde/src/lib.rs +++ b/yaserde/src/lib.rs @@ -1,3 +1,8 @@ +//! # YaSerDe +//! +//! YaSerDe is a framework for ***ser***ializing and ***de***serializing Rust data +//! structures efficiently and generically from and into XML. + #[macro_use] extern crate log; extern crate xml; @@ -12,14 +17,18 @@ use xml::writer::XmlEvent; pub mod de; pub mod ser; +/// A **data structure** that can be deserialized from any data format supported by YaSerDe. pub trait YaDeserialize: Sized { fn deserialize(reader: &mut de::Deserializer) -> Result; } +/// A **data structure** that can be serialized into any data format supported by YaSerDe. pub trait YaSerialize: Sized { fn serialize(&self, writer: &mut ser::Serializer) -> Result<(), String>; } + +/// A **visitor** that can be implemented to retrieve information from source file. pub trait Visitor<'de>: Sized { /// The value produced by this visitor. type Value; diff --git a/yaserde/src/ser/mod.rs b/yaserde/src/ser/mod.rs index 6886d9a..3366e21 100644 --- a/yaserde/src/ser/mod.rs +++ b/yaserde/src/ser/mod.rs @@ -1,3 +1,6 @@ +//! Generic data structure serialization framework. +//! + use std::io::{Cursor, Write}; use std::str; use xml;