Struct combine::primitives::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>
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::byte::*; use combine::primitives::{BufferedStream, ReadStream}; use combine::state::State; use std::io::Read; let mut input: &[u8] = b"123,"; let stream = BufferedStream::new(State::new(ReadStream::new(&mut input)), 1); let result = (many(digit()), byte(b',')) .parse(stream.as_stream()) .map(|t| t.0); assert_eq!(result, Ok((vec![b'1', b'2', b'3'], b',')));
Trait Implementations
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
fn uncons(&mut self) -> Result<u8, Error<u8, u8>>
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