Expand description
This crate provides the FormatInfo, FormatEncoder, and FormatDecoder traits.
These traits allow to encode/decode data from/to a generic format.
§Example
use format_ende::FormatInfo;
use format_ende::FormatEncoder;
/// Print given value encoded with the given encoder
fn print<E, V>(encoder: &mut E, value: &V) where
E: FormatInfo,
E: FormatEncoder<V>,
E::EncodeError: std::fmt::Debug,
{
println!(
"{} as {}:",
std::any::type_name::<V>(),
encoder.file_extension()
);
let mut stdout = std::io::stdout();
encoder.encode(&mut stdout, value).unwrap();
println!();
}Traits§
- Format
Decoder - A trait for decoding values of type
Vfrom a specific format - Format
Decoder Dyn - A trait object version of
FormatDecoderfor dynamic dispatch - Format
Encoder - A trait for encoding values of type
Vinto a specific format - Format
Encoder Dyn - A trait object version of
FormatEncoderfor dynamic dispatch - Format
Info - Information about a specific format, such as its file extension