[−][src]Trait cbor_data::WriteToDict
The actual data writing methods of DictBuilder.
Required methods
pub fn write_pos(&mut self, key: &str, value: u64, tag: Option<u64>)[src]
Write a unsigned value of up to 64 bits.
pub fn write_neg(&mut self, key: &str, value: u64, tag: Option<u64>)[src]
Write a negative value of up to 64 bits — the represented number is -1 - value.
pub fn write_bytes(&mut self, key: &str, value: &[u8], tag: Option<u64>)[src]
Write the given slice as a definite size byte string.
pub fn write_str(&mut self, key: &str, value: &str, tag: Option<u64>)[src]
Write the given slice as a definite size string.
pub fn write_bool(&mut self, key: &str, value: bool, tag: Option<u64>)[src]
pub fn write_null(&mut self, key: &str, tag: Option<u64>)[src]
pub fn write_undefined(&mut self, key: &str, tag: Option<u64>)[src]
pub fn write_lit(&mut self, key: &str, value: Literal, tag: Option<u64>)[src]
pub fn write_array_rec(
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)[src]
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)
Write a nested array using the given closure that receives an array builder.
This method is very useful for recursively building a CBOR structure without statically known recursion limit, avoiding infinite type errors.
use cbor_data::{CborBuilder, WriteToArray, WriteToDict}; let mut cbor = CborBuilder::default().write_dict(None); cbor.write_array_rec("x", None, &mut |builder| { builder.write_pos(42, None); }); let cbor = cbor.finish(); assert_eq!(cbor.as_slice(), vec![0xbfu8, 0x61, b'x', 0x9f, 0x18, 42, 0xff, 0xff]);
pub fn write_dict_rec(
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)[src]
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)
Write a nested dict using the given closure that receives an dict builder.
This method is very useful for recursively building a CBOR structure without statically known recursion limit, avoiding infinite type errors.
use cbor_data::{CborBuilder, WriteToArray, WriteToDict}; let mut cbor = CborBuilder::default().write_dict(None); cbor.write_dict_rec("x", None, &mut |builder| { builder.write_pos("y", 42, None); }); let cbor = cbor.finish(); assert_eq!(cbor.as_slice(), vec![0xbfu8, 0x61, b'x', 0xbf, 0x61, b'y', 0x18, 42, 0xff, 0xff]);
Implementations on Foreign Types
impl WriteToDict for &mut Vec<u8>[src]
pub fn write_pos(&mut self, key: &str, value: u64, tag: Option<u64>)[src]
pub fn write_neg(&mut self, key: &str, value: u64, tag: Option<u64>)[src]
pub fn write_bytes(&mut self, key: &str, value: &[u8], tag: Option<u64>)[src]
pub fn write_str(&mut self, key: &str, value: &str, tag: Option<u64>)[src]
pub fn write_bool(&mut self, key: &str, value: bool, tag: Option<u64>)[src]
pub fn write_null(&mut self, key: &str, tag: Option<u64>)[src]
pub fn write_undefined(&mut self, key: &str, tag: Option<u64>)[src]
pub fn write_lit(&mut self, key: &str, value: Literal, tag: Option<u64>)[src]
pub fn write_array_rec(
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)[src]
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)
pub fn write_dict_rec(
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)[src]
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)
Implementors
impl<'a, T: 'static> WriteToDict for DictBuilder<'a, T>[src]
pub fn write_pos(&mut self, key: &str, value: u64, tag: Option<u64>)[src]
pub fn write_neg(&mut self, key: &str, value: u64, tag: Option<u64>)[src]
pub fn write_bytes(&mut self, key: &str, value: &[u8], tag: Option<u64>)[src]
pub fn write_str(&mut self, key: &str, value: &str, tag: Option<u64>)[src]
pub fn write_bool(&mut self, key: &str, value: bool, tag: Option<u64>)[src]
pub fn write_null(&mut self, key: &str, tag: Option<u64>)[src]
pub fn write_undefined(&mut self, key: &str, tag: Option<u64>)[src]
pub fn write_lit(&mut self, key: &str, value: Literal, tag: Option<u64>)[src]
pub fn write_array_rec(
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)[src]
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)
pub fn write_dict_rec(
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)[src]
&mut self,
key: &str,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)