pub trait StreamOnce {
type Item: Clone + PartialEq;
type Range: Clone + PartialEq;
type Position: Clone + Ord;
type Error: ParseError<Self::Item, Self::Range, Self::Position>;
// Required method
fn uncons(&mut self) -> Result<Self::Item, StreamErrorFor<Self>>;
// Provided method
fn is_partial(&self) -> bool { ... }
}
Expand description
StreamOnce
represents a sequence of items that can be extracted one by one.
Required Associated Types§
Sourcetype Range: Clone + PartialEq
type Range: Clone + PartialEq
The type of a range of items yielded from this stream.
Types which do not a have a way of yielding ranges of items should just use the
Self::Item
for this type.
Sourcetype Position: Clone + Ord
type Position: Clone + Ord
Type which represents the position in a stream.
Ord
is required to allow parsers to determine which of two positions are further ahead.
type Error: ParseError<Self::Item, Self::Range, Self::Position>
Required Methods§
Sourcefn uncons(&mut self) -> Result<Self::Item, StreamErrorFor<Self>>
fn uncons(&mut self) -> Result<Self::Item, StreamErrorFor<Self>>
Takes a stream and removes its first item, yielding the item and the rest of the elements.
Returns Err
if no element could be retrieved.
Provided Methods§
Sourcefn is_partial(&self) -> bool
fn is_partial(&self) -> bool
Returns true
if this stream only contains partial input.
See PartialStream
.