[][src]Trait ferrite_session::ContextLens

pub trait ContextLens<C, A1, A2>: Send + 'static where
    C: Context,
    A1: Slot,
    A2: Slot
{ type Deleted: Context; type Target: Context; fn extract_source(
        channels: C::Endpoints
    ) -> (A1::Endpoint, <Self::Deleted as Context>::Endpoints);
fn insert_target(
        receiver: A2::Endpoint,
        channels: <Self::Deleted as Context>::Endpoints
    ) -> <Self::Target as Context>::Endpoints; }

Associated Types

Loading content...

Required methods

fn extract_source(
    channels: C::Endpoints
) -> (A1::Endpoint, <Self::Deleted as Context>::Endpoints)

fn insert_target(
    receiver: A2::Endpoint,
    channels: <Self::Deleted as Context>::Endpoints
) -> <Self::Target as Context>::Endpoints

Loading content...

Implementors

impl<B, A1, A2, C, N> ContextLens<(B, C), A1, A2> for S<N> where
    B: Slot,
    A1: Slot,
    A2: Slot,
    C: Context,
    N: ContextLens<C, A1, A2>, 
[src]

type Deleted = (B, N::Deleted)

type Target = (B, N::Target)

impl<C, A1, A2> ContextLens<(A1, C), A1, A2> for Z where
    A1: Slot,
    A2: Slot,
    C: Context
[src]

type Deleted = C

type Target = (A2, C)

Loading content...