Trait combine::StreamOnce [] [src]

pub trait StreamOnce {
    type Item: Clone + PartialEq;
    type Range: Clone + PartialEq;
    type Position: Ord;
    fn uncons(&mut self) -> Result<Self::Item, Error<Self::Item, Self::Range>>;
    fn position(&self) -> Self::Position;
}

StreamOnce represents a sequence of items that can be extracted one by one.

Associated Types

type Item: Clone + PartialEq

The type of items which is yielded from this stream

type Range: Clone + PartialEq

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

type Position: Ord

Type which represents the position in a stream. Ord is required to allow parsers to determine which of two positions are further ahead.

Required Methods

fn uncons(&mut self) -> Result<Self::Item, Error<Self::Item, Self::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

fn position(&self) -> Self::Position

Returns the current position of the stream

Implementors