Struct combine::stream::position::Stream[][src]

pub struct Stream<Input, X> {
    pub input: Input,
    pub positioner: X,
}
Expand description

The Stream<Input> struct maintains the current position in the stream Input using the Positioner trait to track the position.

    let result = token(b'9')
        .message("Not a nine")
        .easy_parse(position::Stream::new(&b"8"[..]));
    assert_eq!(result, Err(easy::Errors {
        position: 0,
        errors: vec![
            easy::Error::Unexpected(b'8'.into()),
            easy::Error::Expected(b'9'.into()),
            easy::Error::Message("Not a nine".into())
        ]
    }));

Fields

input: Input

The input stream used when items are requested

positioner: X

The positioner used to update the current position

Implementations

Creates a new Stream<Input, X> from an input stream and a positioner.

Creates a new Stream<Input, X> from an input stream and its default positioner.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Returns the current position of the stream.

Takes size elements from the stream. Fails if the length of the stream is less than size. Read more

Takes items from stream, testing each one with predicate. returns the range of items which passed predicate. Read more

Takes items from stream, testing each one with predicate returns a range of at least one items which passed predicate. Read more

Returns the distance between self and end. The returned usize must be so that Read more

Returns the entire range of self

Creates a Checkpoint at the current position which can be used to reset the stream later to the current position Read more

Attempts to reset the stream to an earlier position.

The type of items which is yielded from this stream.

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::Token for this type. Read more

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

Takes a stream and removes its first token, yielding the token and the rest of the elements. Returns Err if no element could be retrieved. Read more

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

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.