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 be used as a Stream
.
Methods
impl<'a, I> BufferedStream<'a, I> where
I: StreamOnce,
[src]
I: StreamOnce,
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 it could
be used multiple times.
Trait Implementations
impl<'a, I> Debug for BufferedStream<'a, I> where
I: StreamOnce + 'a,
I::Item: 'a,
[src]
I: StreamOnce + 'a,
I::Item: 'a,
impl<'a, I> Clone for BufferedStream<'a, I> where
I: StreamOnce + 'a,
I::Position: Clone,
I::Item: 'a,
[src]
I: StreamOnce + 'a,
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: StreamOnce + 'a,
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.