Trait radn::mode::ParseModeExt

source ·
pub trait ParseModeExt: ParseMode {
    // Provided methods
    fn bind<A0, A1, E, I>(
        s: ParseSuccessP<Self, A0, I>,
        f: impl FnOnce(A0) -> Result<A1, E>
    ) -> ModeResultP<Self, A1, E, I> { ... }
    fn map<A0, A1, I>(
        s: ParseSuccessP<Self, A0, I>,
        f: impl FnOnce(A0) -> A1
    ) -> ParseSuccessP<Self, A1, I> { ... }
    fn seal<A, I>(s: ParseSuccessP<Self, A, I>) -> A { ... }
    fn xmap_err<A, E0, E1>(
        result: ExtensionResultP<Self, A, E0>,
        f: impl FnOnce(E0) -> E1
    ) -> ExtensionResultP<Self, A, E1> { ... }
    fn xbind<A0, A1, E>(
        result: ExtensionResultP<Self, A0, E>,
        f: impl FnOnce(A0) -> Result<A1, E>
    ) -> ExtensionResultP<Self, A1, E> { ... }
    fn xseal<A, E>(result: ExtensionResultP<Self, A, E>) -> Result<A, E> { ... }
    fn smap<A0, A1>(
        source: ExtensionSourceP<Self, A0>,
        f: impl FnOnce(A0) -> A1
    ) -> ExtensionSourceP<Self, A1> { ... }
    fn prepare<A>(a: A) -> ExtensionSourceP<Self, A> { ... }
    fn xsbind<AB, A, B, E>(
        ab: ExtensionSourceP<Self, AB>,
        t2ab: impl FnOnce(AB) -> (A, B),
        ce: impl FnOnce(ExtensionSourceP<Self, B>) -> ExtensionResultP<Self, B, E>,
        ab2t: impl FnOnce(A, B) -> Result<AB, E>
    ) -> ExtensionResultP<Self, AB, E> { ... }
}
Expand description

Extension trait for all ParseMode types, re-exporting Mode traits.

Provided Methods§

source

fn bind<A0, A1, E, I>( s: ParseSuccessP<Self, A0, I>, f: impl FnOnce(A0) -> Result<A1, E> ) -> ModeResultP<Self, A1, E, I>

source

fn map<A0, A1, I>( s: ParseSuccessP<Self, A0, I>, f: impl FnOnce(A0) -> A1 ) -> ParseSuccessP<Self, A1, I>

source

fn seal<A, I>(s: ParseSuccessP<Self, A, I>) -> A

source

fn xmap_err<A, E0, E1>( result: ExtensionResultP<Self, A, E0>, f: impl FnOnce(E0) -> E1 ) -> ExtensionResultP<Self, A, E1>

source

fn xbind<A0, A1, E>( result: ExtensionResultP<Self, A0, E>, f: impl FnOnce(A0) -> Result<A1, E> ) -> ExtensionResultP<Self, A1, E>

source

fn xseal<A, E>(result: ExtensionResultP<Self, A, E>) -> Result<A, E>

source

fn smap<A0, A1>( source: ExtensionSourceP<Self, A0>, f: impl FnOnce(A0) -> A1 ) -> ExtensionSourceP<Self, A1>

source

fn prepare<A>(a: A) -> ExtensionSourceP<Self, A>

source

fn xsbind<AB, A, B, E>( ab: ExtensionSourceP<Self, AB>, t2ab: impl FnOnce(AB) -> (A, B), ce: impl FnOnce(ExtensionSourceP<Self, B>) -> ExtensionResultP<Self, B, E>, ab2t: impl FnOnce(A, B) -> Result<AB, E> ) -> ExtensionResultP<Self, AB, E>

Implementors§