Trait ferrite_session::internal::base::AppendContext[][src]

pub trait AppendContext<R>: Context where
    R: Context
{ type Appended: Context; fn append_context(
        channels1: Self::Endpoints,
        channels2: <R as Context>::Endpoints
    ) -> <Self::Appended as Context>::Endpoints;
fn split_context(
        channels: <Self::Appended as Context>::Endpoints
    ) -> (Self::Endpoints, <R as Context>::Endpoints); }

Associated Types

Loading content...

Required methods

fn append_context(
    channels1: Self::Endpoints,
    channels2: <R as Context>::Endpoints
) -> <Self::Appended as Context>::Endpoints
[src]

fn split_context(
    channels: <Self::Appended as Context>::Endpoints
) -> (Self::Endpoints, <R as Context>::Endpoints)
[src]

Loading content...

Implementations on Foreign Types

impl<R: Context> AppendContext<R> for ()[src]

type Appended = R

fn append_context(
    _: (),
    r: <R as Context>::Endpoints
) -> <R as Context>::Endpoints
[src]

fn split_context(
    r: <R as Context>::Endpoints
) -> ((), <R as Context>::Endpoints)
[src]

impl<P, R, S> AppendContext<S> for (P, R) where
    P: Slot,
    R: Context,
    S: Context,
    R: AppendContext<S>, 
[src]

type Appended = (P, <R as AppendContext<S>>::Appended)

fn append_context(
    (p, r): (P::Endpoint, R::Endpoints),
    s: <S as Context>::Endpoints
) -> (<P as Slot>::Endpoint, <R::Appended as Context>::Endpoints)
[src]

fn split_context(
    (p, r): (P::Endpoint, <R::Appended as Context>::Endpoints)
) -> (<(P, R) as Context>::Endpoints, <S as Context>::Endpoints)
[src]

Loading content...

Implementors

Loading content...