Crate format_ende

Crate format_ende 

Source
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§

FormatDecoder
A trait for decoding values of type V from a specific format
FormatDecoderDyn
A trait object version of FormatDecoder for dynamic dispatch
FormatEncoder
A trait for encoding values of type V into a specific format
FormatEncoderDyn
A trait object version of FormatEncoder for dynamic dispatch
FormatInfo
Information about a specific format, such as its file extension