combine::parser::byte

Struct Tab

Source
pub struct Tab<I>(/* private fields */)
where
    I: Stream<Item = u8>,
    I::Error: ParseError<u8, I::Range, I::Position>;

Trait Implementations§

Source§

impl<I> Clone for Tab<I>
where I: Stream<Item = u8> + Clone, I::Error: ParseError<u8, I::Range, I::Position>,

Source§

fn clone(&self) -> Tab<I>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<I> Parser for Tab<I>
where I: Stream<Item = u8>, I::Error: ParseError<u8, I::Range, I::Position>,

Source§

type Input = I

The type which is taken as input for the parser. The type must implement the Stream trait which allows the parser to read items from the type.
Source§

type Output = <Expected<Satisfy<I, fn(_: u8) -> bool>> as Parser>::Output

The type which is returned if the parser is successful.
Source§

type PartialState = <Expected<Satisfy<I, fn(_: u8) -> bool>> as Parser>::PartialState

Determines the state necessary to resume parsing after more input is supplied. Read more
Source§

fn parse_lazy( &mut self, input: &mut Self::Input, ) -> ConsumedResult<Self::Output, Self::Input>

Parses using the stream input by calling Stream::uncons one or more times. Read more
Source§

fn parse_first( &mut self, input: &mut Self::Input, state: &mut Self::PartialState, ) -> ConsumedResult<Self::Output, Self::Input>

Parses using the stream input and allows itself to be resumed at a later point using parse_partial by storing the necessary intermediate state in state. Read more
Source§

fn parse_partial( &mut self, input: &mut Self::Input, state: &mut Self::PartialState, ) -> ConsumedResult<Self::Output, Self::Input>

Parses using the stream input and allows itself to be resumed at a later point using parse_partial by storing the necessary intermediate state in state
Source§

fn add_error(&mut self, error: &mut Tracked<<Self::Input as StreamOnce>::Error>)

Adds the first error that would normally be returned by this parser if it failed with an EmptyErr result. Read more
Source§

fn easy_parse<I>( &mut self, input: I, ) -> Result<(Self::Output, I), ParseError<I>>
where I: Stream, Stream<I>: StreamOnce<Item = I::Item, Range = I::Range, Error = ParseError<Stream<I>>, Position = I::Position>, I::Position: Default, Self: Sized + Parser<Input = Stream<I>>,

Entry point of the parser. Takes some input and tries to parse it, returning an easy to use and format error if parsing did not succeed. Read more
Source§

fn parse( &mut self, input: Self::Input, ) -> Result<(Self::Output, Self::Input), <Self::Input as StreamOnce>::Error>

Entry point of the parser. Takes some input and tries to parse it. Read more
Source§

fn parse_with_state( &mut self, input: &mut Self::Input, state: &mut Self::PartialState, ) -> Result<Self::Output, <Self::Input as StreamOnce>::Error>

Entry point of the parser when using partial parsing. Takes some input and tries to parse it. Read more
Source§

fn parse_stream( &mut self, input: &mut Self::Input, ) -> ParseResult<Self::Output, Self::Input>

Parses using the stream input by calling Stream::uncons one or more times. Read more
Source§

fn parse_stream_consumed( &mut self, input: &mut Self::Input, ) -> ConsumedResult<Self::Output, Self::Input>

Parses using the stream input by calling Stream::uncons one or more times. Read more
Source§

fn parse_stream_consumed_partial( &mut self, input: &mut Self::Input, state: &mut Self::PartialState, ) -> ConsumedResult<Self::Output, Self::Input>

Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Borrows a parser instead of consuming it. Read more
Source§

fn with<P2>(self, p: P2) -> With<Self, P2>
where Self: Sized, P2: Parser<Input = Self::Input>,

Discards the value of the self parser and returns the value of p. Fails if any of the parsers fails. Read more
Source§

fn skip<P2>(self, p: P2) -> Skip<Self, P2>
where Self: Sized, P2: Parser<Input = Self::Input>,

Discards the value of the p parser and returns the value of self. Fails if any of the parsers fails. Read more
Source§

fn and<P2>(self, p: P2) -> (Self, P2)
where Self: Sized, P2: Parser<Input = Self::Input>,

Parses with self followed by p. Succeeds if both parsers succeed, otherwise fails. Returns a tuple with both values on success. Read more
Source§

fn or<P2>(self, p: P2) -> Or<Self, P2>
where Self: Sized, P2: Parser<Input = Self::Input, Output = Self::Output>,

Returns a parser which attempts to parse using self. If self fails without consuming any input it tries to consume the same input using p. Read more
Source§

fn then<N, F>(self, f: F) -> Then<Self, F>
where Self: Sized, F: FnMut(Self::Output) -> N, N: Parser<Input = Self::Input>,

Parses using self and then passes the value to f which returns a parser used to parse the rest of the input. Read more
Source§

fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>
where Self: Sized, F: FnMut(&mut Self::Output) -> N, N: Parser<Input = Self::Input>,

Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
Source§

fn map<F, B>(self, f: F) -> Map<Self, F>
where Self: Sized, F: FnMut(Self::Output) -> B,

Uses f to map over the parsed value. Read more
Source§

fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>
where Self: Sized, F: FnMut(Self::Output) -> Result<B, <Self::Input as StreamOnce>::Error>,

Uses f to map over the output of self. If f returns an error the parser fails. Read more
Source§

fn message<S>(self, msg: S) -> Message<Self>
where Self: Sized, S: Into<Info<<Self::Input as StreamOnce>::Item, <Self::Input as StreamOnce>::Range>>,

Parses with self and if it fails, adds the message msg to the error. Read more
Source§

fn expected<S>(self, msg: S) -> Expected<Self>
where Self: Sized, S: Into<Info<<Self::Input as StreamOnce>::Item, <Self::Input as StreamOnce>::Range>>,

Parses with self and if it fails without consuming any input any expected errors are replaced by msg. msg is then used in error messages as “Expected msg”. Read more
Source§

fn silent(self) -> Silent<Self>
where Self: Sized,

Parses with self, if it fails without consuming any input any expected errors that would otherwise be emitted by self are suppressed. Read more
Source§

fn and_then<F, O, E, I>(self, f: F) -> AndThen<Self, F>
where Self: Parser<Input = I> + Sized, F: FnMut(Self::Output) -> Result<O, E>, I: Stream, E: Into<<I::Error as ParseError<I::Item, I::Range, I::Position>>::StreamError>,

Parses with self and applies f on the result if self parses successfully. f may optionally fail with an error which is automatically converted to a ParseError. Read more
Source§

fn iter( self, input: &mut <Self as Parser>::Input, ) -> Iter<'_, Self, Self::PartialState, FirstMode>
where Self: Parser + Sized,

Creates an iterator from a parser and a state. Can be used as an alternative to many when collecting directly into a Extend type is not desirable. Read more
Source§

fn partial_iter<'a, 's, M>( self, mode: M, input: &'a mut <Self as Parser>::Input, partial_state: &'s mut Self::PartialState, ) -> Iter<'a, Self, &'s mut Self::PartialState, M>
where Self: Parser + Sized, M: ParseMode,

Creates an iterator from a parser and a state. Can be used as an alternative to many when collecting directly into a Extend type is not desirable. Read more
Source§

fn boxed<'a>( self, ) -> Box<dyn Parser<Input = Self::Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>
where Self: Sized + 'a,

Turns the parser into a trait object by putting it in a Box. Can be used to easily return parsers from functions without naming the type. Read more
Source§

fn left<R>(self) -> Either<Self, R>
where Self: Sized, R: Parser<Input = Self::Input, Output = Self::Output>,

Wraps the parser into the Either enum which allows combinators such as then to return multiple different parser types (merging them to one) Read more
Source§

fn right<L>(self) -> Either<L, Self>
where Self: Sized, L: Parser<Input = Self::Input, Output = Self::Output>,

Wraps the parser into the Either enum which allows combinators such as then to return multiple different parser types (merging them to one) Read more

Auto Trait Implementations§

§

impl<I> Freeze for Tab<I>
where <I as StreamOnce>::Error: Sized, <I as StreamOnce>::Range: Freeze,

§

impl<I> RefUnwindSafe for Tab<I>

§

impl<I> Send for Tab<I>
where <I as StreamOnce>::Error: Sized, <I as StreamOnce>::Range: Send, I: Send,

§

impl<I> Sync for Tab<I>
where <I as StreamOnce>::Error: Sized, <I as StreamOnce>::Range: Sync, I: Sync,

§

impl<I> Unpin for Tab<I>
where <I as StreamOnce>::Error: Sized, <I as StreamOnce>::Range: Unpin, I: Unpin,

§

impl<I> UnwindSafe for Tab<I>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.