Struct cbor_data::ArrayWriter
source · [−]pub struct ArrayWriter<'a> { /* private fields */ }Expand description
Builder for an array value, used by write_array_ret().
see trait Encoder for usage examples
Implementations
sourceimpl<'a> ArrayWriter<'a>
impl<'a> ArrayWriter<'a>
sourcepub fn set_max_definite_size(&mut self, size: Option<u64>)
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.
Trait Implementations
sourceimpl<'a> Writer for ArrayWriter<'a>
impl<'a> Writer for ArrayWriter<'a>
type Output = ArrayWriter<'a>
sourcefn max_definite(&self) -> Option<u64>
fn max_definite(&self) -> Option<u64>
Configured maximum array or dict length up to which definite size encoding is used.
sourcefn write_pos(
self,
value: u64,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_pos(
self,
value: u64,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Write a unsigned value of up to 64 bits.
Tags are from outer to inner. Read more
sourcefn write_neg(
self,
value: u64,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_neg(
self,
value: u64,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Write a negative value of up to 64 bits — the represented number is
-1 - value.
Tags are from outer to inner. Read moresourcefn write_bytes(
self,
value: &[u8],
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_bytes(
self,
value: &[u8],
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Write the given slice as a definite size byte string.
Tags are from outer to inner. Read more
sourcefn write_bytes_chunked(
self,
value: impl IntoIterator<Item = impl AsRef<[u8]>> + Copy,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_bytes_chunked(
self,
value: impl IntoIterator<Item = impl AsRef<[u8]>> + Copy,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Write the given slices as a definite size byte string.
Tags are from outer to inner. Read more
sourcefn write_str(
self,
value: &str,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_str(
self,
value: &str,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Write the given slice as a definite size string.
Tags are from outer to inner. Read more
sourcefn write_str_chunked(
self,
value: impl IntoIterator<Item = impl AsRef<str>> + Copy,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_str_chunked(
self,
value: impl IntoIterator<Item = impl AsRef<str>> + Copy,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Write the given slice as a definite size string.
Tags are from outer to inner. Read more
sourcefn write_bool(
self,
value: bool,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_bool(
self,
value: bool,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Tags are from outer to inner.
sourcefn write_null(self, tags: impl IntoIterator<Item = u64>) -> Self::Output
fn write_null(self, tags: impl IntoIterator<Item = u64>) -> Self::Output
Tags are from outer to inner.
sourcefn write_undefined(self, tags: impl IntoIterator<Item = u64>) -> Self::Output
fn write_undefined(self, tags: impl IntoIterator<Item = u64>) -> Self::Output
Tags are from outer to inner.
sourcefn write_lit(
self,
value: Literal,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
fn write_lit(
self,
value: Literal,
tags: impl IntoIterator<Item = u64>
) -> Self::Output
Write custom literal value — RFC 8949 §3.3 is required reading.
Tags are from outer to inner. Read more
sourcefn write_array<F>(self, tags: impl IntoIterator<Item = u64>, f: F) -> Self::Outputwhere
F: FnOnce(&mut ArrayWriter<'_>),
fn write_array<F>(self, tags: impl IntoIterator<Item = u64>, f: F) -> Self::Outputwhere
F: FnOnce(&mut ArrayWriter<'_>),
Write a nested array using the given closure that receives an array builder.
Tags are from outer to inner. Read more
sourcefn write_array_ret<T, F>(
self,
tags: impl IntoIterator<Item = u64>,
f: F
) -> (Self::Output, T)where
F: FnOnce(&mut ArrayWriter<'_>) -> T,
fn write_array_ret<T, F>(
self,
tags: impl IntoIterator<Item = u64>,
f: F
) -> (Self::Output, T)where
F: FnOnce(&mut ArrayWriter<'_>) -> T,
Write a nested array using the given closure that receives an array builder.
Tags are from outer to inner. Read more
sourcefn write_dict<F>(self, tags: impl IntoIterator<Item = u64>, f: F) -> Self::Outputwhere
F: FnOnce(&mut DictWriter<'_>),
fn write_dict<F>(self, tags: impl IntoIterator<Item = u64>, f: F) -> Self::Outputwhere
F: FnOnce(&mut DictWriter<'_>),
Write a nested dict using the given closure that receives a dict builder.
Tags are from outer to inner. Read more
sourcefn write_dict_ret<T, F>(
self,
tags: impl IntoIterator<Item = u64>,
f: F
) -> (Self::Output, T)where
F: FnOnce(&mut DictWriter<'_>) -> T,
fn write_dict_ret<T, F>(
self,
tags: impl IntoIterator<Item = u64>,
f: F
) -> (Self::Output, T)where
F: FnOnce(&mut DictWriter<'_>) -> T,
Write a nested dict using the given closure that receives a dict builder.
Tags are from outer to inner. Read more
sourcefn write_canonical(self, bytes: &[u8]) -> Result<Self::Output, ParseError>
fn write_canonical(self, bytes: &[u8]) -> Result<Self::Output, ParseError>
Interpret the given bytes as a single CBOR item and write it to this builder,
canonicalising its contents like
CborOwned::canonical() Read moresourcefn write_trusting(self, bytes: &[u8]) -> Self::Output
fn write_trusting(self, bytes: &[u8]) -> Self::Output
Assume that the given bytes are a well-formed single CBOR item and write it to this builder. Read more
sourcefn write_item(self, item: &Cbor) -> Self::Output
fn write_item(self, item: &Cbor) -> Self::Output
Write the given CBOR item
Auto Trait Implementations
impl<'a> RefUnwindSafe for ArrayWriter<'a>
impl<'a> Send for ArrayWriter<'a>
impl<'a> Sync for ArrayWriter<'a>
impl<'a> Unpin for ArrayWriter<'a>
impl<'a> !UnwindSafe for ArrayWriter<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more