pub struct CsvParser<'de> { /* private fields */ }Expand description
CSV parser that emits FormatParser events.
CSV is parsed as a struct where each comma-separated field corresponds to a struct field in definition order. The format does not support nested structures or arrays.
Unlike fully self-describing formats (JSON), CSV is positional:
- Fields are identified by column order, not names
- The parser uses
hint_struct_fieldsto know how many fields to expect - Each field emits an
OrderedFieldevent followed by aScalarvalue
Implementations§
Trait Implementations§
Source§impl<'de> FormatParser<'de> for CsvParser<'de>
impl<'de> FormatParser<'de> for CsvParser<'de>
Source§fn next_event(&mut self) -> Result<Option<ParseEvent<'de>>, ParseError>
fn next_event(&mut self) -> Result<Option<ParseEvent<'de>>, ParseError>
Read the next parse event, or
None if the input is exhausted. Read moreSource§fn peek_event(&mut self) -> Result<Option<ParseEvent<'de>>, ParseError>
fn peek_event(&mut self) -> Result<Option<ParseEvent<'de>>, ParseError>
Peek at the next event without consuming it, or
None if at EOF.Source§fn skip_value(&mut self) -> Result<(), ParseError>
fn skip_value(&mut self) -> Result<(), ParseError>
Skip the current value (for unknown fields, etc.).
Source§fn save(&mut self) -> SavePoint
fn save(&mut self) -> SavePoint
Save the current parser position and start recording events. Read more
Source§fn restore(&mut self, _save_point: SavePoint)
fn restore(&mut self, _save_point: SavePoint)
Restore to a previous save point, replaying recorded events. Read more
Source§fn is_self_describing(&self) -> bool
fn is_self_describing(&self) -> bool
Returns true if this format is self-describing. Read more
Source§fn hint_struct_fields(&mut self, num_fields: usize)
fn hint_struct_fields(&mut self, num_fields: usize)
Hint to the parser that a struct with the given number of fields is expected. Read more
Source§fn hint_scalar_type(&mut self, hint: ScalarTypeHint)
fn hint_scalar_type(&mut self, hint: ScalarTypeHint)
Hint to the parser what scalar type is expected next. Read more
Source§fn current_span(&self) -> Option<Span>
fn current_span(&self) -> Option<Span>
Returns the source span of the most recently consumed event. Read more
Source§fn next_events(
&mut self,
buf: &mut VecDeque<ParseEvent<'de>>,
limit: usize,
) -> Result<usize, ParseError>
fn next_events( &mut self, buf: &mut VecDeque<ParseEvent<'de>>, limit: usize, ) -> Result<usize, ParseError>
Read multiple parse events into a deque, returning the number of events read. Read more
Source§fn capture_raw(&mut self) -> Result<Option<&'de str>, ParseError>
fn capture_raw(&mut self) -> Result<Option<&'de str>, ParseError>
Capture the raw representation of the current value without parsing it. Read more
Source§fn raw_capture_shape(&self) -> Option<&'static Shape>
fn raw_capture_shape(&self) -> Option<&'static Shape>
Returns the shape of the format’s raw capture type (e.g.,
RawJson::SHAPE). Read moreSource§fn hint_sequence(&mut self)
fn hint_sequence(&mut self)
Hint to the parser that a sequence (array/Vec) is expected. Read more
Source§fn hint_byte_sequence(&mut self) -> bool
fn hint_byte_sequence(&mut self) -> bool
Source§fn hint_remaining_byte_sequence(&mut self) -> bool
fn hint_remaining_byte_sequence(&mut self) -> bool
Hint to the parser that all remaining input bytes should be consumed as a byte slice. Read more
Source§fn hint_array(&mut self, _len: usize)
fn hint_array(&mut self, _len: usize)
Hint to the parser that a fixed-size array is expected. Read more
Source§fn hint_option(&mut self)
fn hint_option(&mut self)
Hint to the parser that an
Option<T> is expected. Read moreSource§fn hint_dynamic_value(&mut self)
fn hint_dynamic_value(&mut self)
Hint to the parser that a dynamic value is expected. Read more
Source§fn hint_enum(&mut self, _variants: &[EnumVariantHint])
fn hint_enum(&mut self, _variants: &[EnumVariantHint])
Hint to the parser that an enum is expected, providing variant information. Read more
Auto Trait Implementations§
impl<'de> Freeze for CsvParser<'de>
impl<'de> RefUnwindSafe for CsvParser<'de>
impl<'de> Send for CsvParser<'de>
impl<'de> Sync for CsvParser<'de>
impl<'de> Unpin for CsvParser<'de>
impl<'de> UnsafeUnpin for CsvParser<'de>
impl<'de> UnwindSafe for CsvParser<'de>
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