pub trait Stream<'sval> {
Show 47 methods
// Required methods
fn null(&mut self) -> Result;
fn bool(&mut self, value: bool) -> Result;
fn text_begin(&mut self, num_bytes_hint: Option<usize>) -> Result;
fn text_fragment_computed(&mut self, fragment: &str) -> Result;
fn text_end(&mut self) -> Result;
fn i64(&mut self, value: i64) -> Result;
fn f64(&mut self, value: f64) -> Result;
fn seq_begin(&mut self, num_entries_hint: Option<usize>) -> Result;
fn seq_value_begin(&mut self) -> Result;
fn seq_value_end(&mut self) -> Result;
fn seq_end(&mut self) -> Result;
// Provided methods
fn value<V: Value + ?Sized>(&mut self, v: &'sval V) -> Result { ... }
fn value_computed<V: Value + ?Sized>(&mut self, v: &V) -> Result { ... }
fn text_fragment(&mut self, fragment: &'sval str) -> Result { ... }
fn binary_begin(&mut self, num_bytes_hint: Option<usize>) -> Result { ... }
fn binary_fragment(&mut self, fragment: &'sval [u8]) -> Result { ... }
fn binary_fragment_computed(&mut self, fragment: &[u8]) -> Result { ... }
fn binary_end(&mut self) -> Result { ... }
fn u8(&mut self, value: u8) -> Result { ... }
fn u16(&mut self, value: u16) -> Result { ... }
fn u32(&mut self, value: u32) -> Result { ... }
fn u64(&mut self, value: u64) -> Result { ... }
fn u128(&mut self, value: u128) -> Result { ... }
fn i8(&mut self, value: i8) -> Result { ... }
fn i16(&mut self, value: i16) -> Result { ... }
fn i32(&mut self, value: i32) -> Result { ... }
fn i128(&mut self, value: i128) -> Result { ... }
fn f32(&mut self, value: f32) -> Result { ... }
fn map_begin(&mut self, num_entries_hint: Option<usize>) -> Result { ... }
fn map_key_begin(&mut self) -> Result { ... }
fn map_key_end(&mut self) -> Result { ... }
fn map_value_begin(&mut self) -> Result { ... }
fn map_value_end(&mut self) -> Result { ... }
fn map_end(&mut self) -> Result { ... }
fn enum_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result { ... }
fn enum_end(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result { ... }
fn tagged_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result { ... }
fn tagged_end(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result { ... }
fn tag(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result { ... }
fn record_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>,
num_entries_hint: Option<usize>
) -> Result { ... }
fn record_value_begin(
&mut self,
tag: Option<&Tag>,
label: &Label<'_>
) -> Result { ... }
fn record_value_end(
&mut self,
tag: Option<&Tag>,
label: &Label<'_>
) -> Result { ... }
fn record_end(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result { ... }
fn tuple_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>,
num_entries_hint: Option<usize>
) -> Result { ... }
fn tuple_value_begin(&mut self, tag: Option<&Tag>, index: &Index) -> Result { ... }
fn tuple_value_end(&mut self, tag: Option<&Tag>, index: &Index) -> Result { ... }
fn tuple_end(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result { ... }
}
Expand description
A consumer of structured data.
Required Methods§
sourcefn text_begin(&mut self, num_bytes_hint: Option<usize>) -> Result
fn text_begin(&mut self, num_bytes_hint: Option<usize>) -> Result
Start a UTF8 text string.
sourcefn text_fragment_computed(&mut self, fragment: &str) -> Result
fn text_fragment_computed(&mut self, fragment: &str) -> Result
Stream a fragment of UTF8 text, borrowed for some arbitrarily short lifetime.
sourcefn seq_begin(&mut self, num_entries_hint: Option<usize>) -> Result
fn seq_begin(&mut self, num_entries_hint: Option<usize>) -> Result
Start a homogenous sequence of values.
sourcefn seq_value_begin(&mut self) -> Result
fn seq_value_begin(&mut self) -> Result
Start an individual value in a sequence.
sourcefn seq_value_end(&mut self) -> Result
fn seq_value_end(&mut self) -> Result
Complete an individual value in a sequence.
Provided Methods§
sourcefn value_computed<V: Value + ?Sized>(&mut self, v: &V) -> Result
fn value_computed<V: Value + ?Sized>(&mut self, v: &V) -> Result
Recurse into a nested value, borrowed for some arbitrarily short lifetime.
sourcefn text_fragment(&mut self, fragment: &'sval str) -> Result
fn text_fragment(&mut self, fragment: &'sval str) -> Result
Stream a fragment of UTF8 text.
sourcefn binary_begin(&mut self, num_bytes_hint: Option<usize>) -> Result
fn binary_begin(&mut self, num_bytes_hint: Option<usize>) -> Result
Start a bitstring.
sourcefn binary_fragment(&mut self, fragment: &'sval [u8]) -> Result
fn binary_fragment(&mut self, fragment: &'sval [u8]) -> Result
Stream a fragment of a bitstring.
sourcefn binary_fragment_computed(&mut self, fragment: &[u8]) -> Result
fn binary_fragment_computed(&mut self, fragment: &[u8]) -> Result
Stream a fragment of a bitstring, borrowed for some arbitrarily short lifetime.
sourcefn binary_end(&mut self) -> Result
fn binary_end(&mut self) -> Result
Complete a bitstring.
sourcefn map_begin(&mut self, num_entries_hint: Option<usize>) -> Result
fn map_begin(&mut self, num_entries_hint: Option<usize>) -> Result
Start a homogenous mapping of arbitrary keys to values.
sourcefn map_key_begin(&mut self) -> Result
fn map_key_begin(&mut self) -> Result
Start a key in a key-value mapping.
sourcefn map_key_end(&mut self) -> Result
fn map_key_end(&mut self) -> Result
Complete a key in a key-value mapping.
sourcefn map_value_begin(&mut self) -> Result
fn map_value_begin(&mut self) -> Result
Start a value in a key-value mapping.
sourcefn map_value_end(&mut self) -> Result
fn map_value_end(&mut self) -> Result
Complete a value in a key-value mapping.
sourcefn enum_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result
fn enum_begin( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index> ) -> Result
Start a variant in an enumerated type.
sourcefn enum_end(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result
fn enum_end( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index> ) -> Result
Complete a variant in an enumerated type.
sourcefn tagged_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result
fn tagged_begin( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index> ) -> Result
Start a tagged value.
Tagged values may be used as enum variants.
sourcefn tagged_end(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result
fn tagged_end( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index> ) -> Result
Complete a tagged value.
sourcefn tag(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result
fn tag( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index> ) -> Result
Stream a standalone tag.
Standalone tags may be used as enum variants.
sourcefn record_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>,
num_entries_hint: Option<usize>
) -> Result
fn record_begin( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index>, num_entries_hint: Option<usize> ) -> Result
Start a record type.
Records may be used as enum variants.
sourcefn record_value_begin(&mut self, tag: Option<&Tag>, label: &Label<'_>) -> Result
fn record_value_begin(&mut self, tag: Option<&Tag>, label: &Label<'_>) -> Result
Start a field in a record.
sourcefn record_value_end(&mut self, tag: Option<&Tag>, label: &Label<'_>) -> Result
fn record_value_end(&mut self, tag: Option<&Tag>, label: &Label<'_>) -> Result
Complete a field in a record.
sourcefn record_end(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>
) -> Result
fn record_end( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index> ) -> Result
Complete a record type.
sourcefn tuple_begin(
&mut self,
tag: Option<&Tag>,
label: Option<&Label<'_>>,
index: Option<&Index>,
num_entries_hint: Option<usize>
) -> Result
fn tuple_begin( &mut self, tag: Option<&Tag>, label: Option<&Label<'_>>, index: Option<&Index>, num_entries_hint: Option<usize> ) -> Result
Start a tuple type.
Tuples may be used as enum variants.
sourcefn tuple_value_begin(&mut self, tag: Option<&Tag>, index: &Index) -> Result
fn tuple_value_begin(&mut self, tag: Option<&Tag>, index: &Index) -> Result
Start a field in a tuple.