[−][src]Trait cbor_data::WriteToArray
The actual data writing methods of ArrayBuilder.
Required methods
pub fn write_pos(&mut self, value: u64, tag: Option<u64>)[src]
Write a unsigned value of up to 64 bits.
pub fn write_neg(&mut self, 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, value: &[u8], tag: Option<u64>)[src]
Write the given slice as a definite size byte string.
pub fn write_str(&mut self, value: &str, tag: Option<u64>)[src]
Write the given slice as a definite size string.
pub fn write_bool(&mut self, value: bool, tag: Option<u64>)[src]
pub fn write_null(&mut self, tag: Option<u64>)[src]
pub fn write_undefined(&mut self, tag: Option<u64>)[src]
pub fn write_lit(&mut self, value: Literal, tag: Option<u64>)[src]
Write custom literal value — RFC7049 §2.3 is required reading.
pub fn write_array_rec(
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)[src]
&mut self,
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_array(None); cbor.write_array_rec(None, &mut |builder| { builder.write_pos(42, None); }); let cbor = cbor.finish(); assert_eq!(cbor.as_slice(), vec![0x9fu8, 0x9f, 0x18, 42, 0xff, 0xff]);
pub fn write_dict_rec(
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)[src]
&mut self,
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_array(None); cbor.write_array_rec(None, &mut |builder| { builder.write_pos(42, None); }); let cbor = cbor.finish(); assert_eq!(cbor.as_slice(), vec![0x9fu8, 0x9f, 0x18, 42, 0xff, 0xff]);
Implementations on Foreign Types
impl WriteToArray for &mut Vec<u8>[src]
pub fn write_pos(&mut self, value: u64, tag: Option<u64>)[src]
pub fn write_neg(&mut self, value: u64, tag: Option<u64>)[src]
pub fn write_bytes(&mut self, value: &[u8], tag: Option<u64>)[src]
pub fn write_str(&mut self, value: &str, tag: Option<u64>)[src]
pub fn write_bool(&mut self, value: bool, tag: Option<u64>)[src]
pub fn write_null(&mut self, tag: Option<u64>)[src]
pub fn write_undefined(&mut self, tag: Option<u64>)[src]
pub fn write_lit(&mut self, value: Literal, tag: Option<u64>)[src]
pub fn write_array_rec(
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)[src]
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)
pub fn write_dict_rec(
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)[src]
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)
Implementors
impl<'a, T: 'static> WriteToArray for ArrayBuilder<'a, T>[src]
pub fn write_pos(&mut self, value: u64, tag: Option<u64>)[src]
pub fn write_neg(&mut self, value: u64, tag: Option<u64>)[src]
pub fn write_bytes(&mut self, value: &[u8], tag: Option<u64>)[src]
pub fn write_str(&mut self, value: &str, tag: Option<u64>)[src]
pub fn write_bool(&mut self, value: bool, tag: Option<u64>)[src]
pub fn write_null(&mut self, tag: Option<u64>)[src]
pub fn write_undefined(&mut self, tag: Option<u64>)[src]
pub fn write_lit(&mut self, value: Literal, tag: Option<u64>)[src]
pub fn write_array_rec(
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)[src]
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToArray)
)
pub fn write_dict_rec(
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)[src]
&mut self,
tag: Option<u64>,
f: &mut dyn FnMut(&mut dyn WriteToDict)
)