Struct combine::stream::read::Stream [−][src]
pub struct Stream<R> { /* fields omitted */ }
Implementations
Creates a StreamOnce
instance from a value implementing std::io::Read
.
NOTE: This type do not implement Positioned
and Clone
and must be wrapped with types
such as BufferedStreamRef
and State
to become a Stream
which can be parsed
use combine::*; use combine::parser::byte::*; use combine::stream::read; use combine::stream::buffered; use combine::stream::position; use std::io::Read; let input: &[u8] = b"123,"; let stream = buffered::Stream::new(position::Stream::new(read::Stream::new(input)), 1); let result = (many(digit()), byte(b',')) .parse(stream) .map(|t| t.0); assert_eq!(result, Ok((vec![b'1', b'2', b'3'], b',')));
Trait Implementations
type Positioner = IndexPositioner
type Range = &'static [u8]
type Range = &'static [u8]
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
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