pub struct Encoder<W> { /* private fields */ }Expand description
Encodes Rust values to CBOR bytes in the underlying writer W.
Note that currently, using the serialization infrastructure is the only way to write CBOR in this crate.
Implementations§
Source§impl<W: Write> Encoder<W>
impl<W: Write> Encoder<W>
Sourcepub fn from_writer(wtr: W) -> Encoder<BufWriter<W>>
pub fn from_writer(wtr: W) -> Encoder<BufWriter<W>>
Encode CBOR to an arbitrary writer.
Sourcepub fn encode<I>(&mut self, it: I) -> CborResult<()>
pub fn encode<I>(&mut self, it: I) -> CborResult<()>
Encode an iterator of Rust values to CBOR in the underlying writer.
Every value in the iterator must satisfy Encodable (from the
rustc-serialize crate).
Note that this encodes top-level CBOR data items. They can be decoded in a streaming fashion.
§Example
Encode a list of numbers.
use cbor::Encoder;
let mut enc = Encoder::from_memory();
enc.encode(&[1, 2, 3, 4, 5]);
assert_eq!(vec![1, 2, 3, 4, 5], enc.as_bytes());Sourcepub fn flush(&mut self) -> CborResult<()>
pub fn flush(&mut self) -> CborResult<()>
Flush the underlying writer.
Trait Implementations§
Source§impl<W: Write> Encoder for Encoder<W>
impl<W: Write> Encoder for Encoder<W>
Source§fn emit_usize(&mut self, v: usize) -> CborResult<()>
fn emit_usize(&mut self, v: usize) -> CborResult<()>
Emit a usize value.
Source§fn emit_isize(&mut self, v: isize) -> CborResult<()>
fn emit_isize(&mut self, v: isize) -> CborResult<()>
Emit a isize value.
Source§fn emit_enum<F>(&mut self, _name: &str, f: F) -> CborResult<()>
fn emit_enum<F>(&mut self, _name: &str, f: F) -> CborResult<()>
Emit an enumeration value. Read more
Source§fn emit_enum_variant<F>(
&mut self,
v_name: &str,
_v_id: usize,
len: usize,
f: F,
) -> CborResult<()>
fn emit_enum_variant<F>( &mut self, v_name: &str, _v_id: usize, len: usize, f: F, ) -> CborResult<()>
Emit a enumeration variant value with no or unnamed data. Read more
Source§fn emit_enum_variant_arg<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
fn emit_enum_variant_arg<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
Emit an unnamed data item for an enumeration variant. Read more
Source§fn emit_enum_struct_variant<F>(
&mut self,
v_name: &str,
v_id: usize,
len: usize,
f: F,
) -> CborResult<()>
fn emit_enum_struct_variant<F>( &mut self, v_name: &str, v_id: usize, len: usize, f: F, ) -> CborResult<()>
Emit a enumeration variant value with no or named data. Read more
Source§fn emit_enum_struct_variant_field<F>(
&mut self,
_f_name: &str,
idx: usize,
f: F,
) -> CborResult<()>
fn emit_enum_struct_variant_field<F>( &mut self, _f_name: &str, idx: usize, f: F, ) -> CborResult<()>
Emit a named data item for an enumeration variant. Read more
Source§fn emit_struct<F>(&mut self, name: &str, len: usize, f: F) -> CborResult<()>
fn emit_struct<F>(&mut self, name: &str, len: usize, f: F) -> CborResult<()>
Emit a struct value. Read more
Source§fn emit_struct_field<F>(
&mut self,
f_name: &str,
_f_idx: usize,
f: F,
) -> CborResult<()>
fn emit_struct_field<F>( &mut self, f_name: &str, _f_idx: usize, f: F, ) -> CborResult<()>
Emit a field item for a struct. Read more
Source§fn emit_tuple<F>(&mut self, len: usize, f: F) -> CborResult<()>
fn emit_tuple<F>(&mut self, len: usize, f: F) -> CborResult<()>
Emit a tuple value. Read more
Source§fn emit_tuple_arg<F>(&mut self, idx: usize, f: F) -> CborResult<()>
fn emit_tuple_arg<F>(&mut self, idx: usize, f: F) -> CborResult<()>
Emit a data item for a tuple. Read more
Source§fn emit_tuple_struct<F>(
&mut self,
_name: &str,
len: usize,
f: F,
) -> CborResult<()>
fn emit_tuple_struct<F>( &mut self, _name: &str, len: usize, f: F, ) -> CborResult<()>
Emit a tuple struct value. Read more
Source§fn emit_tuple_struct_arg<F>(&mut self, idx: usize, f: F) -> CborResult<()>
fn emit_tuple_struct_arg<F>(&mut self, idx: usize, f: F) -> CborResult<()>
Emit a data item for a tuple struct. Read more
Source§fn emit_option<F>(&mut self, f: F) -> CborResult<()>
fn emit_option<F>(&mut self, f: F) -> CborResult<()>
Emit an optional value. Read more
Source§fn emit_option_none(&mut self) -> CborResult<()>
fn emit_option_none(&mut self) -> CborResult<()>
Emit the
None optional value. Read moreSource§fn emit_option_some<F>(&mut self, f: F) -> CborResult<()>
fn emit_option_some<F>(&mut self, f: F) -> CborResult<()>
Emit the
Some(x) optional value. Read moreSource§fn emit_seq<F>(&mut self, len: usize, f: F) -> CborResult<()>
fn emit_seq<F>(&mut self, len: usize, f: F) -> CborResult<()>
Emit a sequence of values. Read more
Source§fn emit_seq_elt<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
fn emit_seq_elt<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
Emit an element in a sequence. Read more
Source§fn emit_map<F>(&mut self, len: usize, f: F) -> CborResult<()>
fn emit_map<F>(&mut self, len: usize, f: F) -> CborResult<()>
Emit an associative container (map). Read more
Source§fn emit_map_elt_key<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
fn emit_map_elt_key<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
Emit the key for an entry in a map. Read more
Source§fn emit_map_elt_val<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
fn emit_map_elt_val<F>(&mut self, _idx: usize, f: F) -> CborResult<()>
Emit the value for an entry in a map. Read more
Auto Trait Implementations§
impl<W> Freeze for Encoder<W>where
W: Freeze,
impl<W> RefUnwindSafe for Encoder<W>where
W: RefUnwindSafe,
impl<W> Send for Encoder<W>where
W: Send,
impl<W> Sync for Encoder<W>where
W: Sync,
impl<W> Unpin for Encoder<W>where
W: Unpin,
impl<W> UnwindSafe for Encoder<W>where
W: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more