Trait ferrite_session::prelude::row::Prism[][src]

pub trait Prism<Row> where
    Row: RowCon
{ type Elem; fn inject_elem<F>(elem: App<F, Self::Elem>) -> AppSum<Row, F>
    where
        F: TyCon
;
fn extract_elem<F>(row: AppSum<Row, F>) -> Option<App<F, Self::Elem>>
    where
        F: TyCon
; }

Associated Types

Loading content...

Required methods

fn inject_elem<F>(elem: App<F, Self::Elem>) -> AppSum<Row, F> where
    F: TyCon
[src]

fn extract_elem<F>(row: AppSum<Row, F>) -> Option<App<F, Self::Elem>> where
    F: TyCon
[src]

Loading content...

Implementors

impl<A, R> Prism<(A, R)> for ChoiceSelector<Z> where
    A: Send + 'static,
    R: RowCon
[src]

type Elem = A

fn inject_elem<F>(t: App<F, A>) -> AppSum<(A, R), F> where
    F: TyCon
[src]

fn extract_elem<F>(row: AppSum<(A, R), F>) -> Option<App<F, A>> where
    F: TyCon
[src]

impl<N, A, R> Prism<(A, R)> for ChoiceSelector<S<N>> where
    R: RowCon,
    A: Send + 'static,
    ChoiceSelector<N>: Prism<R>, 
[src]

type Elem = <ChoiceSelector<N> as Prism<R>>::Elem

fn inject_elem<F>(elem: App<F, Self::Elem>) -> AppSum<(A, R), F> where
    F: TyCon
[src]

fn extract_elem<F>(row: AppSum<(A, R), F>) -> Option<App<F, Self::Elem>> where
    F: TyCon
[src]

Loading content...