pub struct PostcardParser<'de> { /* private fields */ }Expand description
Postcard parser for Tier-0 and Tier-2 deserialization.
For Tier-0, the parser relies on hint_struct_fields to know how many fields
to expect in structs. Sequences are length-prefixed in the wire format.
Implementations§
Source§impl<'de> PostcardParser<'de>
impl<'de> PostcardParser<'de>
Sourcepub fn parse_bool(&mut self) -> Result<bool, PostcardError>
pub fn parse_bool(&mut self) -> Result<bool, PostcardError>
Parse a boolean value.
Sourcepub fn parse_u8(&mut self) -> Result<u8, PostcardError>
pub fn parse_u8(&mut self) -> Result<u8, PostcardError>
Parse an unsigned 8-bit integer.
Sourcepub fn parse_u16(&mut self) -> Result<u16, PostcardError>
pub fn parse_u16(&mut self) -> Result<u16, PostcardError>
Parse an unsigned 16-bit integer (varint).
Sourcepub fn parse_u32(&mut self) -> Result<u32, PostcardError>
pub fn parse_u32(&mut self) -> Result<u32, PostcardError>
Parse an unsigned 32-bit integer (varint).
Sourcepub fn parse_u64(&mut self) -> Result<u64, PostcardError>
pub fn parse_u64(&mut self) -> Result<u64, PostcardError>
Parse an unsigned 64-bit integer (varint).
Sourcepub fn parse_u128(&mut self) -> Result<u128, PostcardError>
pub fn parse_u128(&mut self) -> Result<u128, PostcardError>
Parse an unsigned 128-bit integer (varint).
Sourcepub fn parse_i8(&mut self) -> Result<i8, PostcardError>
pub fn parse_i8(&mut self) -> Result<i8, PostcardError>
Parse a signed 8-bit integer (single byte, two’s complement).
Sourcepub fn parse_i16(&mut self) -> Result<i16, PostcardError>
pub fn parse_i16(&mut self) -> Result<i16, PostcardError>
Parse a signed 16-bit integer (zigzag varint).
Sourcepub fn parse_i32(&mut self) -> Result<i32, PostcardError>
pub fn parse_i32(&mut self) -> Result<i32, PostcardError>
Parse a signed 32-bit integer (zigzag varint).
Sourcepub fn parse_i64(&mut self) -> Result<i64, PostcardError>
pub fn parse_i64(&mut self) -> Result<i64, PostcardError>
Parse a signed 64-bit integer (zigzag varint).
Sourcepub fn parse_i128(&mut self) -> Result<i128, PostcardError>
pub fn parse_i128(&mut self) -> Result<i128, PostcardError>
Parse a signed 128-bit integer (zigzag varint).
Sourcepub fn parse_f32(&mut self) -> Result<f32, PostcardError>
pub fn parse_f32(&mut self) -> Result<f32, PostcardError>
Parse a 32-bit float (little-endian).
Sourcepub fn parse_f64(&mut self) -> Result<f64, PostcardError>
pub fn parse_f64(&mut self) -> Result<f64, PostcardError>
Parse a 64-bit float (little-endian).
Sourcepub fn parse_string(&mut self) -> Result<&'de str, PostcardError>
pub fn parse_string(&mut self) -> Result<&'de str, PostcardError>
Parse a string (varint length + UTF-8 bytes).
Sourcepub fn parse_bytes(&mut self) -> Result<&'de [u8], PostcardError>
pub fn parse_bytes(&mut self) -> Result<&'de [u8], PostcardError>
Parse bytes (varint length + raw bytes).
Sourcepub fn begin_sequence(&mut self) -> Result<u64, PostcardError>
pub fn begin_sequence(&mut self) -> Result<u64, PostcardError>
Begin parsing a sequence, returning the element count.
Trait Implementations§
Source§impl<'de> FormatParser<'de> for PostcardParser<'de>
impl<'de> FormatParser<'de> for PostcardParser<'de>
Source§type Error = PostcardError
type Error = PostcardError
Source§type Probe<'a> = PostcardProbe
where
Self: 'a
type Probe<'a> = PostcardProbe where Self: 'a
FormatParser::begin_probe.Source§fn next_event(&mut self) -> Result<Option<ParseEvent<'de>>, Self::Error>
fn next_event(&mut self) -> Result<Option<ParseEvent<'de>>, Self::Error>
None if the input is exhausted. Read moreSource§fn peek_event(&mut self) -> Result<Option<ParseEvent<'de>>, Self::Error>
fn peek_event(&mut self) -> Result<Option<ParseEvent<'de>>, Self::Error>
None if at EOF.Source§fn skip_value(&mut self) -> Result<(), Self::Error>
fn skip_value(&mut self) -> Result<(), Self::Error>
Source§fn begin_probe(&mut self) -> Result<Self::Probe<'_>, Self::Error>
fn begin_probe(&mut self) -> Result<Self::Probe<'_>, Self::Error>
Source§fn is_self_describing(&self) -> bool
fn is_self_describing(&self) -> bool
Source§fn hint_struct_fields(&mut self, num_fields: usize)
fn hint_struct_fields(&mut self, num_fields: usize)
Source§fn hint_scalar_type(&mut self, hint: ScalarTypeHint)
fn hint_scalar_type(&mut self, hint: ScalarTypeHint)
Source§fn hint_sequence(&mut self)
fn hint_sequence(&mut self)
Source§fn hint_byte_sequence(&mut self) -> bool
fn hint_byte_sequence(&mut self) -> bool
Source§fn hint_array(&mut self, len: usize)
fn hint_array(&mut self, len: usize)
Source§fn hint_option(&mut self)
fn hint_option(&mut self)
Option<T> is expected. Read moreSource§fn hint_enum(&mut self, variants: &[EnumVariantHint])
fn hint_enum(&mut self, variants: &[EnumVariantHint])
Source§fn hint_dynamic_value(&mut self)
fn hint_dynamic_value(&mut self)
Source§fn hint_opaque_scalar(
&mut self,
type_identifier: &'static str,
shape: &'static Shape,
) -> bool
fn hint_opaque_scalar( &mut self, type_identifier: &'static str, shape: &'static Shape, ) -> bool
Source§fn capture_raw(&mut self) -> Result<Option<&'de str>, Self::Error>
fn capture_raw(&mut self) -> Result<Option<&'de str>, Self::Error>
Source§fn raw_capture_shape(&self) -> Option<&'static Shape>
fn raw_capture_shape(&self) -> Option<&'static Shape>
RawJson::SHAPE). Read more