Trait Parse

Source
pub trait Parse
where Self: Sized, Self::Result: PartialEq + Debug,
{ type Result;
Show 22 methods // Required method fn parse<'b>(&self, input: &'b str) -> ParseResult<'b, Self::Result>; // Provided methods fn run(&self, input: &str) -> Result<Self::Result, String> { ... } fn and<U: Parse>(self, other: U) -> And<Self, U> { ... } fn and_ref<'a, U: Parse>(&'a self, other: &'a U) -> AndRef<'a, Self, U> { ... } fn or<U: Parse>(self, other: U) -> Or<Self, U> { ... } fn or_ref<'a, U: Parse>(&'a self, other: &'a U) -> OrRef<'a, Self, U> { ... } fn map<U, F: Fn(Self::Result) -> U>(self, f: F) -> Map<Self, F, U> { ... } fn map_ref<'a, U, F: Fn(Self::Result) -> U>( &'a self, f: &'a F, ) -> MapRef<'a, Self, F, U> { ... } fn zero_or_more(self) -> ZeroOrMoreOf<Self> { ... } fn zero_or_more_ref<'a>(&'a self) -> ZeroOrMoreOfRef<'a, Self> { ... } fn one_or_more(self) -> OneOrMoreOf<Self> { ... } fn one_or_more_ref<'a>(&'a self) -> OneOrMoreOfRef<'a, Self> { ... } fn drop<U: Parse>(self, other: U) -> Drop<Self, U> { ... } fn drop_ref<'a, U: Parse>(&'a self, other: &'a U) -> DropRef<'a, Self, U> { ... } fn keep<U: Parse>(self, other: U) -> Keep<Self, U> { ... } fn keep_ref<'a, U: Parse>(&'a self, other: &'a U) -> KeepRef<'a, Self, U> { ... } fn sbws(self) -> Sbws<Self> { ... } fn sbws_ref<'a>(&'a self) -> SbwsRef<'a, Self> { ... } fn sep_by(self, sep: char) -> SepBy<Self> { ... } fn sep_by_ref<'a>(&'a self, sep: char) -> SepByRef<'a, Self> { ... } fn parse_while<F: Fn(&Self::Result) -> bool>( self, f: F, ) -> ParseWhile<Self, F> { ... } fn parse_while_ref<'a, F: Fn(&Self::Result) -> bool>( &'a self, f: &'a F, ) -> ParseWhileRef<'a, Self, F> { ... }
}

Required Associated Types§

Required Methods§

Source

fn parse<'b>(&self, input: &'b str) -> ParseResult<'b, Self::Result>

Provided Methods§

Source

fn run(&self, input: &str) -> Result<Self::Result, String>

Source

fn and<U: Parse>(self, other: U) -> And<Self, U>

Source

fn and_ref<'a, U: Parse>(&'a self, other: &'a U) -> AndRef<'a, Self, U>

Source

fn or<U: Parse>(self, other: U) -> Or<Self, U>

Source

fn or_ref<'a, U: Parse>(&'a self, other: &'a U) -> OrRef<'a, Self, U>

Source

fn map<U, F: Fn(Self::Result) -> U>(self, f: F) -> Map<Self, F, U>

Source

fn map_ref<'a, U, F: Fn(Self::Result) -> U>( &'a self, f: &'a F, ) -> MapRef<'a, Self, F, U>

Source

fn zero_or_more(self) -> ZeroOrMoreOf<Self>

Source

fn zero_or_more_ref<'a>(&'a self) -> ZeroOrMoreOfRef<'a, Self>

Source

fn one_or_more(self) -> OneOrMoreOf<Self>

Source

fn one_or_more_ref<'a>(&'a self) -> OneOrMoreOfRef<'a, Self>

Source

fn drop<U: Parse>(self, other: U) -> Drop<Self, U>

Source

fn drop_ref<'a, U: Parse>(&'a self, other: &'a U) -> DropRef<'a, Self, U>

Source

fn keep<U: Parse>(self, other: U) -> Keep<Self, U>

Source

fn keep_ref<'a, U: Parse>(&'a self, other: &'a U) -> KeepRef<'a, Self, U>

Source

fn sbws(self) -> Sbws<Self>

Source

fn sbws_ref<'a>(&'a self) -> SbwsRef<'a, Self>

Source

fn sep_by(self, sep: char) -> SepBy<Self>

Source

fn sep_by_ref<'a>(&'a self, sep: char) -> SepByRef<'a, Self>

Source

fn parse_while<F: Fn(&Self::Result) -> bool>(self, f: F) -> ParseWhile<Self, F>

Source

fn parse_while_ref<'a, F: Fn(&Self::Result) -> bool>( &'a self, f: &'a F, ) -> ParseWhileRef<'a, Self, F>

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 Parse for AnyCharParser

Source§

impl Parse for CharParser

Source§

impl Parse for NullParser

Source§

impl Parse for StringParser

Source§

impl Parse for WhitespaceParser

Source§

impl<'a, T: Parse> Parse for AllOfRef<'a, T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<'a, T: Parse> Parse for OneOfRef<'a, T>

Source§

type Result = <T as Parse>::Result

Source§

impl<'a, T: Parse> Parse for OneOrMoreOfRef<'a, T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<'a, T: Parse> Parse for ParseSquareListRef<'a, T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<'a, T: Parse> Parse for SbwsRef<'a, T>

Source§

type Result = <T as Parse>::Result

Source§

impl<'a, T: Parse> Parse for ZeroOrMoreOfRef<'a, T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<'a, T: Parse, F: Fn(&<T as Parse>::Result) -> bool> Parse for ParseWhile<T, F>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<'a, T: Parse, F: Fn(&<T as Parse>::Result) -> bool> Parse for ParseWhileRef<'a, T, F>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<'a, T: Parse, U: PartialEq + Debug, F: Fn(<T as Parse>::Result) -> U> Parse for MapRef<'a, T, F, U>

Source§

impl<'a, T: Parse, U: Parse> Parse for AndRef<'a, T, U>

Source§

type Result = (<T as Parse>::Result, <U as Parse>::Result)

Source§

impl<'a, T: Parse, U: Parse> Parse for DropRef<'a, T, U>

Source§

type Result = <U as Parse>::Result

Source§

impl<'a, T: Parse, U: Parse> Parse for KeepRef<'a, T, U>

Source§

type Result = <T as Parse>::Result

Source§

impl<'a, T: Parse, U: Parse> Parse for OrRef<'a, T, U>

Source§

type Result = Either<<T as Parse>::Result, <U as Parse>::Result>

Source§

impl<'b, T: Parse> Parse for SepByRef<'b, T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<T: Parse> Parse for AllOf<T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<T: Parse> Parse for OneOf<T>

Source§

type Result = <T as Parse>::Result

Source§

impl<T: Parse> Parse for OneOrMoreOf<T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<T: Parse> Parse for ParseSquareList<T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<T: Parse> Parse for Sbws<T>

Source§

type Result = <T as Parse>::Result

Source§

impl<T: Parse> Parse for SepBy<T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<T: Parse> Parse for ZeroOrMoreOf<T>

Source§

type Result = Vec<<T as Parse>::Result>

Source§

impl<T: Parse, U: PartialEq + Debug, F: Fn(<T as Parse>::Result) -> U> Parse for Map<T, F, U>

Source§

impl<T: Parse, U: Parse> Parse for And<T, U>

Source§

type Result = (<T as Parse>::Result, <U as Parse>::Result)

Source§

impl<T: Parse, U: Parse> Parse for Drop<T, U>

Source§

type Result = <U as Parse>::Result

Source§

impl<T: Parse, U: Parse> Parse for Keep<T, U>

Source§

type Result = <T as Parse>::Result

Source§

impl<T: Parse, U: Parse> Parse for Or<T, U>

Source§

type Result = Either<<T as Parse>::Result, <U as Parse>::Result>