Trait Parser

Source
pub trait Parser<I: Input> {
    type Output;

    // Required method
    fn parse(input: &I, current: I::Position) -> ResultOf<I, Self::Output>;
}

Required Associated Types§

Required Methods§

Source

fn parse(input: &I, current: I::Position) -> ResultOf<I, Self::Output>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<I: Input> Parser<I> for Array

Source§

impl<I: Input> Parser<I> for Character

Source§

impl<I: Input> Parser<I> for Element

Source§

impl<I: Input> Parser<I> for Elements

Source§

impl<I: Input> Parser<I> for Escape

Source§

impl<I: Input> Parser<I> for Exponent

Source§

impl<I: Input> Parser<I> for Fraction

Source§

impl<I: Input> Parser<I> for Hex

Source§

impl<I: Input> Parser<I> for Integer

Source§

impl<I: Input> Parser<I> for Member

Source§

impl<I: Input> Parser<I> for Members

Source§

impl<I: Input> Parser<I> for NegativeInteger

Source§

impl<I: Input> Parser<I> for Number

Source§

impl<I: Input> Parser<I> for Object

Source§

impl<I: Input> Parser<I> for PositiveInteger

Source§

impl<I: Input> Parser<I> for String

Source§

impl<I: Input> Parser<I> for Value
where I::Position: Copy,

Source§

impl<I: Input> Parser<I> for Null

Source§

impl<I: Input, P: Parser<I>> Parser<I> for OneOrMore<P>

Source§

type Output = Vec<<P as Parser<I>>::Output>

Source§

impl<I: Input, P: Parser<I>, P2: Parser<I>> Parser<I> for Concat<P, P2>

Source§

type Output = (<P as Parser<I>>::Output, <P2 as Parser<I>>::Output)

Source§

impl<I: Input, P: Parser<I>, P2: Parser<I>> Parser<I> for OneOf<P, P2>

Source§

type Output = Either<<P as Parser<I>>::Output, <P2 as Parser<I>>::Output>

Source§

impl<P: Predicate<char>, I: Input> Parser<I> for ExpectChar<P>