From a79da97a46fea73813896b02f516c5603121ab88 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Arnaud Date: Mon, 24 Feb 2020 18:42:09 +0100 Subject: [PATCH] add some documentation --- yaserde/src/de/mod.rs | 3 +++ yaserde/src/lib.rs | 9 +++++++++ yaserde/src/ser/mod.rs | 3 +++ 3 files changed, 15 insertions(+) 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;