Struct combine::stream::ReadStream
[−]
[src]
pub struct ReadStream<R> { /* fields omitted */ }
Methods
impl<R> ReadStream<R> where
R: Read,
[src]
R: Read,
fn new(read: R) -> ReadStream<R>
[src]
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::ReadStream; use combine::stream::buffered::BufferedStream; use combine::stream::state::State; use std::io::Read; let input: &[u8] = b"123,"; let stream = BufferedStream::new(State::new(ReadStream::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
impl<R> DefaultPositioned for ReadStream<R>
[src]
type Positioner = IndexPositioner
impl<R: Read> StreamOnce for ReadStream<R>
[src]
type Item = u8
The type of items which is yielded from this stream.
type Range = 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::Item
for this type. Read more
type Position = usize
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 = Errors<u8, u8, usize>
fn uncons(&mut self) -> Result<u8, StreamErrorFor<Self>>
[src]
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. Read more
fn is_partial(&self) -> bool
[src]
Returns true
if this stream only contains partial input. Read more