oni_comb_parser_rs::prelude

Trait SkipParsers

Source
pub trait SkipParsers: OperatorParsers {
    // Required method
    fn skip<'a, I>(n: usize) -> Self::P<'a, I, ()>;

    // Provided methods
    fn skip_left<'a, I, A, B>(
        pa: Self::P<'a, I, A>,
        pb: Self::P<'a, I, B>,
    ) -> Self::P<'a, I, B>
       where A: Clone + Debug + 'a,
             B: Clone + Debug + 'a { ... }
    fn skip_right<'a, I, A, B>(
        pa: Self::P<'a, I, A>,
        pb: Self::P<'a, I, B>,
    ) -> Self::P<'a, I, A>
       where A: Clone + Debug + 'a,
             B: Clone + Debug + 'a { ... }
    fn surround<'a, I, A, B, C>(
        left_parser: Self::P<'a, I, A>,
        parser: Self::P<'a, I, B>,
        right_parser: Self::P<'a, I, C>,
    ) -> Self::P<'a, I, B>
       where A: Clone + Debug + 'a,
             B: Clone + Debug + 'a,
             C: Clone + Debug + 'a { ... }
}

Required Methods§

Source

fn skip<'a, I>(n: usize) -> Self::P<'a, I, ()>

Provided Methods§

Source

fn skip_left<'a, I, A, B>( pa: Self::P<'a, I, A>, pb: Self::P<'a, I, B>, ) -> Self::P<'a, I, B>
where A: Clone + Debug + 'a, B: Clone + Debug + 'a,

Source

fn skip_right<'a, I, A, B>( pa: Self::P<'a, I, A>, pb: Self::P<'a, I, B>, ) -> Self::P<'a, I, A>
where A: Clone + Debug + 'a, B: Clone + Debug + 'a,

Source

fn surround<'a, I, A, B, C>( left_parser: Self::P<'a, I, A>, parser: Self::P<'a, I, B>, right_parser: Self::P<'a, I, C>, ) -> Self::P<'a, I, B>
where A: Clone + Debug + 'a, B: Clone + Debug + 'a, C: Clone + Debug + 'a,

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§