Trait nommy::Process[][src]

pub trait Process {
    type Output;
    fn process(self) -> Self::Output;
}

Process is a standard interface to map a generated AST from the output of Parse::parse. All types that implement Parse should implement this trait.

Associated Types

Loading content...

Required methods

fn process(self) -> Self::Output[src]

Loading content...

Implementations on Foreign Types

impl<P: Process> Process for Option<P>[src]

type Output = Option<P::Output>

impl<P: Process> Process for Vec<P>[src]

type Output = Vec<P::Output>

impl<P: Process, const N: usize> Process for [P; N][src]

type Output = [P::Output; N]

Loading content...

Implementors

impl Process for LineEnding[src]

type Output = Self

impl Process for Space[src]

type Output = Self

impl Process for WhiteSpace[src]

type Output = Self

impl<P: Process> Process for Vec1<P>[src]

type Output = Vec<P::Output>

impl<P: Process, Suffix> Process for SuffixedBy<P, Suffix>[src]

type Output = P::Output

impl<Prefix, P: Process> Process for PrefixedBy<Prefix, P>[src]

type Output = P::Output

impl<Prefix, P: Process, Suffix> Process for SurroundedBy<Prefix, P, Suffix>[src]

type Output = P::Output

impl<const BYTES: &'static [u8]> Process for nommy::bytes::AnyOf1<BYTES>[src]

type Output = Vec<u8>

impl<const BYTES: &'static [u8]> Process for nommy::bytes::OneOf<BYTES>[src]

type Output = u8

impl<const BYTE_RANGE: RangeInclusive<u8>> Process for nommy::bytes::OneInRange<BYTE_RANGE>[src]

type Output = u8

impl<const CHARS: &'static str> Process for nommy::text::AnyOf1<CHARS>[src]

type Output = String

impl<const CHARS: &'static str> Process for AnyOf<CHARS>[src]

type Output = String

impl<const CHARS: &'static str> Process for nommy::text::OneOf<CHARS>[src]

type Output = char

impl<const CHARS: &'static str> Process for WhileNot1<CHARS>[src]

type Output = String

impl<const CHAR_RANGE: RangeInclusive<char>> Process for AnyInRange<CHAR_RANGE>[src]

type Output = String

impl<const CHAR_RANGE: RangeInclusive<char>> Process for nommy::text::OneInRange<CHAR_RANGE>[src]

type Output = char

impl<const TAG: &'static str> Process for nommy::text::Tag<TAG>[src]

type Output = Self

impl<const TAG: &'static [u8]> Process for nommy::bytes::Tag<TAG>[src]

type Output = Self

Loading content...