Struct combine::primitives::BufferedStream
[−]
[src]
pub struct BufferedStream<'a, I> where I: StreamOnce + 'a, I::Item: 'a { /* fields omitted */ }
A BufferedStream
wraps an instance StreamOnce
, allowing it to b used as a Stream
Methods
impl<'a, I> BufferedStream<'a, I> where I: StreamOnce
[src]
fn new(iter: I, lookahead: usize) -> SharedBufferedStream<I>
Constructs a new BufferedStream
froma a StreamOnce
instance with a lookahead
number
of elements stored in the buffer.
BufferedStream
always implement Stream
allowing one-shot streams to used as if could
be used multiple times.
Trait Implementations
impl<'a, I> Debug for BufferedStream<'a, I> where I: StreamOnce + 'a,
I::Item: 'a
[src]
I::Item: 'a
impl<'a, I> Clone for BufferedStream<'a, I> where I: StreamOnce + 'a,
I::Position: Clone,
I::Item: 'a
[src]
I::Position: Clone,
I::Item: 'a
fn clone(&self) -> BufferedStream<'a, I>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<'a, I> StreamOnce for BufferedStream<'a, I> where I: StreamOnce + 'a,
I::Position: Clone,
I::Item: Clone + PartialEq + 'a
[src]
I::Position: Clone,
I::Item: Clone + PartialEq + 'a
type Item = I::Item
The type of items which is yielded from this stream
type Range = I::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::Item for this type Read more
type Position = I::Position
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
fn uncons(&mut self) -> Result<I::Item, Error<I::Item, I::Range>>
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 position(&self) -> Self::Position
Returns the current position of the stream