Struct cbor_data::DictWriter

source ·
pub struct DictWriter<'a>(/* private fields */);
Expand description

Builder for a dict value, used by write_dict_rec().

see trait Encoder for usage examples

Implementations§

source§

impl<'a> DictWriter<'a>

source

pub fn max_definite(&self) -> Option<u64>

source

pub fn set_max_definite_size(&mut self, size: Option<u64>)

Configure the limit above which indefinite size encoding will be used.

The default is 255, which is the largest size up to which definite size is at least as compact as indefinite size. Set to 23 to avoid moving bytes around when finishing the array. Set to None to always use indefinite size encoding.

source

pub fn with_key( &mut self, key: &str, f: impl FnOnce(SingleBuilder<'_, '_>) -> SingleResult ) -> &mut Self

Add one key–value pair to the dict.

let cbor = CborBuilder::new().encode_dict(|builder| {
    builder.with_key("the answer", |b| b.encode_u64(42));
});
source

pub fn with_cbor_key( &mut self, k: impl FnOnce(SingleBuilder<'_, '_>) -> SingleResult, v: impl FnOnce(SingleBuilder<'_, '_>) -> SingleResult ) -> &mut Self

source

pub fn try_write_pair<E>( &mut self, f: impl FnOnce(KeyBuilder<'_, '_>) -> Result<SingleResult, E> ) -> Result<&mut Self, E>

Auto Trait Implementations§

§

impl<'a> Freeze for DictWriter<'a>

§

impl<'a> RefUnwindSafe for DictWriter<'a>

§

impl<'a> Send for DictWriter<'a>

§

impl<'a> Sync for DictWriter<'a>

§

impl<'a> Unpin for DictWriter<'a>

§

impl<'a> !UnwindSafe for DictWriter<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.