Trait WriteToJson

Source
pub trait WriteToJson<W: Write> {
    // Required method
    fn write_to_json(&self, out: &mut W) -> Result<()>;
}
Expand description

Trait that can be automatically derived for structs and enums.

Example:

use nop_json::WriteToJson;

#[derive(WriteToJson)]
struct Point {x: i32, y: i32}

let point = Point {x: 1, y: 2};
point.write_to_json(&mut std::io::stdout()).unwrap();

Required Methods§

Source

fn write_to_json(&self, out: &mut W) -> Result<()>

Implementations on Foreign Types§

Source§

impl<W: Write> WriteToJson<W> for bool

Source§

impl<W: Write> WriteToJson<W> for char

Source§

impl<W: Write> WriteToJson<W> for f32

Source§

impl<W: Write> WriteToJson<W> for f64

Source§

impl<W: Write> WriteToJson<W> for i8

Source§

impl<W: Write> WriteToJson<W> for i16

Source§

impl<W: Write> WriteToJson<W> for i32

Source§

impl<W: Write> WriteToJson<W> for i64

Source§

impl<W: Write> WriteToJson<W> for i128

Source§

impl<W: Write> WriteToJson<W> for isize

Source§

impl<W: Write> WriteToJson<W> for u8

Source§

impl<W: Write> WriteToJson<W> for u16

Source§

impl<W: Write> WriteToJson<W> for u32

Source§

impl<W: Write> WriteToJson<W> for u64

Source§

impl<W: Write> WriteToJson<W> for u128

Source§

impl<W: Write> WriteToJson<W> for ()

Source§

impl<W: Write> WriteToJson<W> for usize

Source§

impl<W: Write> WriteToJson<W> for String

Source§

impl<W: Write, A, B> WriteToJson<W> for (A, B)
where A: WriteToJson<W>, B: WriteToJson<W>,

Source§

impl<W: Write, A, B, C> WriteToJson<W> for (A, B, C)
where A: WriteToJson<W>, B: WriteToJson<W>, C: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for Option<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for Box<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for BTreeMap<String, T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for BTreeSet<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for LinkedList<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for VecDeque<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for Rc<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for Arc<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for Vec<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for HashMap<String, T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for HashSet<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for Mutex<T>
where T: WriteToJson<W>,

Source§

impl<W: Write, T> WriteToJson<W> for RwLock<T>
where T: WriteToJson<W>,

Implementors§