Struct combine::stream::span::Stream [−][src]
pub struct Stream<S, E>(pub S, _);
Trait Implementations
impl<S, E> Positioned for Stream<S, E> where
S: StreamOnce + Positioned,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
impl<S, E> Positioned for Stream<S, E> where
S: StreamOnce + Positioned,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
impl<S, E> RangeStreamOnce for Stream<S, E> where
S: RangeStream,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
impl<S, E> RangeStreamOnce for Stream<S, E> where
S: RangeStream,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
Takes size
elements from the stream.
Fails if the length of the stream is less than size
. Read more
fn uncons_while<F>(&mut self, f: F) -> Result<Self::Range, StreamErrorFor<Self>> where
F: FnMut(Self::Token) -> bool,
fn uncons_while<F>(&mut self, f: F) -> Result<Self::Range, StreamErrorFor<Self>> where
F: FnMut(Self::Token) -> bool,
Takes items from stream, testing each one with predicate
.
returns the range of items which passed predicate
. Read more
fn uncons_while1<F>(
&mut self,
f: F
) -> ParseResult<Self::Range, StreamErrorFor<Self>> where
F: FnMut(Self::Token) -> bool,
fn uncons_while1<F>(
&mut self,
f: F
) -> ParseResult<Self::Range, StreamErrorFor<Self>> where
F: FnMut(Self::Token) -> bool,
Takes items from stream, testing each one with predicate
returns a range of at least one items which passed predicate
. Read more
Returns the distance between self
and end
. The returned usize
must be so that Read more
impl<S, E> ResetStream for Stream<S, E> where
S: ResetStream + Positioned,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
impl<S, E> ResetStream for Stream<S, E> where
S: ResetStream + Positioned,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
type Checkpoint = S::Checkpoint
Creates a Checkpoint
at the current position which can be used to reset the stream
later to the current position Read more
impl<S, E> StreamOnce for Stream<S, E> where
S: StreamOnce + Positioned,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
impl<S, E> StreamOnce for Stream<S, E> where
S: StreamOnce + Positioned,
S::Token: PartialEq,
S::Range: PartialEq,
E: ParseError<S::Token, S::Range, Span<S::Position>>,
S::Error: ParseErrorInto<S::Token, S::Range, S::Position>,
<S::Error as ParseError<S::Token, S::Range, S::Position>>::StreamError: StreamErrorInto<S::Token, S::Range>,
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::Token
for this type. Read more
Type which represents the position in a stream.
Ord
is required to allow parsers to determine which of two positions are further ahead. Read more
type Error = E
Takes a stream and removes its first token, yielding the token and the rest of the elements.
Returns Err
if no element could be retrieved. Read more
Returns true
if this stream only contains partial input. Read more
Auto Trait Implementations
impl<S, E> RefUnwindSafe for Stream<S, E> where
S: RefUnwindSafe,
impl<S, E> UnwindSafe for Stream<S, E> where
S: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more