pub struct Chain<F1, F2>(pub F1, pub F2);
Tuple Fields§
§0: F1
§1: F2
Trait Implementations§
Source§impl<F1: CallableWithFixedArguments, F2: for<'a> Callable<(<F1 as Callable<ArgumentsOfTypes<'a, F1::FixedArgumentTypes>>>::Output,)>> CallableWithFixedArguments for Chain<F1, F2>
impl<F1: CallableWithFixedArguments, F2: for<'a> Callable<(<F1 as Callable<ArgumentsOfTypes<'a, F1::FixedArgumentTypes>>>::Output,)>> CallableWithFixedArguments for Chain<F1, F2>
type FixedArgumentTypes = <F1 as CallableWithFixedArguments>::FixedArgumentTypes
fn call_with_prepended_args<'first: 'out, 'args: 'out, 'out>( &self, first: ArgumentOfType<'first, <Self::FixedArgumentTypes as ArgumentTypes>::First>, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::FirstTrimmed>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
fn call_with_appended_args<'last: 'out, 'args: 'out, 'out>( &self, args: ArgumentsOfTypes<'args, <Self::FixedArgumentTypes as ArgumentTypes>::LastTrimmed>, last: ArgumentOfType<'last, <Self::FixedArgumentTypes as ArgumentTypes>::Last>, ) -> <Self as Callable<ArgumentsOfTypes<'out, Self::FixedArgumentTypes>>>::Output
Source§impl<F1, F2> IsCallable for Chain<F1, F2>
impl<F1, F2> IsCallable for Chain<F1, F2>
fn accept_anything(self) -> AcceptAnything<Self>
fn provide_last_argument<A: ProvideArgument<ProvideArgumentType = <Self::FixedArgumentTypes as ArgumentTypes>::Last>>(
self,
last_argument: A,
) -> LastArgumentProvided<Self, A>where
Self: Sized + CallableWithFixedArguments,
fn provide_first_argument<A: ProvideArgument<ProvideArgumentType = <Self::FixedArgumentTypes as ArgumentTypes>::First>>(
self,
first_argument: A,
) -> FirstArgumentProvided<Self, A>where
Self: Sized + CallableWithFixedArguments,
fn provide_last_argument_refed<T>(
self,
last_argument: T,
) -> LastArgumentProvided<Self, Refed<T>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<Last = ByRef<T>>,
fn provide_first_argument_refed<T>(
self,
first_argument: T,
) -> FirstArgumentProvided<Self, Refed<T>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<First = ByRef<T>>,
fn provide_first_argument_copied<T: Copy>(
self,
first_argument: T,
) -> FirstArgumentProvided<Self, Copied<T>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<First = Value<T>>,
fn provide_last_argument_copied<T: Copy>(
self,
last_argument: T,
) -> LastArgumentProvided<Self, Copied<T>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<Last = Value<T>>,
fn provide_last_argument_cloned<T: Clone>(
self,
last_argument: T,
) -> LastArgumentProvided<Self, Cloned<T>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<Last = Value<T>>,
fn provide_first_argument_cloned<T: Clone>(
self,
first_argument: T,
) -> FirstArgumentProvided<Self, Cloned<T>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<First = Value<T>>,
fn provide_first_argument_with<F: Callable<()>>(
self,
get_first_argument: F,
) -> FirstArgumentProvided<Self, With<F>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<First = Value<<F as Callable<()>>::Output>>,
fn provide_last_argument_with<F: Callable<()>>(
self,
get_first_argument: F,
) -> LastArgumentProvided<Self, With<F>>where
Self: Sized + CallableWithFixedArguments,
Self::FixedArgumentTypes: ArgumentTypes<Last = Value<<F as Callable<()>>::Output>>,
impl<F1: Copy, F2: Copy> Copy for Chain<F1, F2>
impl<F1: Eq, F2: Eq> Eq for Chain<F1, F2>
impl<F1, F2> StructuralPartialEq for Chain<F1, F2>
Auto Trait Implementations§
impl<F1, F2> Freeze for Chain<F1, F2>
impl<F1, F2> RefUnwindSafe for Chain<F1, F2>where
F1: RefUnwindSafe,
F2: RefUnwindSafe,
impl<F1, F2> Send for Chain<F1, F2>
impl<F1, F2> Sync for Chain<F1, F2>
impl<F1, F2> Unpin for Chain<F1, F2>
impl<F1, F2> UnwindSafe for Chain<F1, F2>where
F1: UnwindSafe,
F2: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<A1, F> CallableOne<A1> for F
impl<A1, F> CallableOne<A1> for F
Source§fn emit(&self, input: IN) -> Self::Output
fn emit(&self, input: IN) -> Self::Output
A shortcut for
Callable::call_fn
with exactly one argument.fn chain<F: CallableOne<Self::Output>>(self, f: F) -> Chain<Self, F>where
Self: Sized,
Source§fn reform<NewInput, F: CallableOne<NewInput, Output = IN>>(
self,
f: F,
) -> Chain<F, Self>where
Self: Sized,
fn reform<NewInput, F: CallableOne<NewInput, Output = IN>>(
self,
f: F,
) -> Chain<F, Self>where
Self: Sized,
Provide input with another callable. Read more