Module stream
Stream capability for combinators to parse
Stream types include:
&[u8]andBytesfor binary data&str(aliased asStr) andBStrfor UTF-8 dataLocatingSlicecan track the location within the original buffer to report [spans][crate::Parser::with_span]Statefulto thread global state through your parsersPartialcan mark an input as partial buffer that is being streamed into- [Custom stream types][crate::_topic::stream]
Structs
-
BStr
Improved
Debugexperience for&[u8]UTF-8-ish streams -
BitOffsets
Iterator for [bit][crate::binary::bits] stream (
(I, usize)) -
Bytes
Improved
Debugexperience for&[u8]byte streams - Checkpoint Ensure checkpoint details are kept private
- LocatingSlice Allow collecting the span of a parsed token within a slice
- Partial Mark the input as a partial buffer for streaming input.
- Range A range bounded inclusively for counting parses performed
- Stateful Thread global state through your parsers
- TokenSlice Specialized input for parsing lexed tokens
Enums
-
CompareResult
Result of
Compare::compare
Traits
-
Accumulate
Abstracts something which can extend an
Extend. Used to build modified input slices inescaped_transform - AsBStr Helper trait for types that can be viewed as a byte slice
- AsBytes Helper trait for types that can be viewed as a byte slice
- AsChar Transforms a token into a char for basic string parsing
- Compare Abstracts comparison operations
- ContainsToken Check if a token is in a set of possible tokens
- FindSlice Look for a slice in self
- Location Current parse locations offset
- Offset Useful functions to calculate the offset between slices and show a hexdump of a slice
-
ParseSlice
Used to integrate
str'sparse()method - SliceLen Abstract method to calculate the input length
- Stream Core definition for parser input state
- StreamIsPartial Marks the input as being the complete buffer or a partial buffer for streaming input
- ToUsize Helper trait to convert numbers to usize.
-
UpdateSlice
Convert a
Streaminto an appropriateOutputtype
Type Aliases
- Str UTF-8 Stream