[][src]Struct combine::stream::ReadStream

pub struct ReadStream<R> { /* fields omitted */ }

Methods

impl<R> ReadStream<R> where
    R: Read
[src]

pub 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;
use combine::stream::state::State;
use std::io::Read;

let input: &[u8] = b"123,";
let stream = buffered::Stream::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]

impl<R: Read> StreamOnce for ReadStream<R>[src]

type Item = u8

The type of items which is yielded from this stream.

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::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<Self::Item, Self::Range, usize>

fn is_partial(&self) -> bool[src]

Returns true if this stream only contains partial input. Read more

Auto Trait Implementations

impl<R> Send for ReadStream<R> where
    R: Send

impl<R> Sync for ReadStream<R> where
    R: Sync

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]