Struct drone_cortexm::fib::FiberProc[][src]

pub struct FiberProc<Sv, I, Y, R, F> where
    Sv: Switch<Data<I, FiberState<Y, R>>>,
    F: FnMut(I, Yielder<Sv, I, Y, R>) -> R,
    F: Send + 'static,
    I: Send + 'static,
    Y: Send + 'static,
    R: Send + 'static, 
{ /* fields omitted */ }

Stackful fiber for FnMut closure.

Can be created with fib::new_proc, fib::new_proc_unchecked, fib::new_proc_unprivileged, fib::new_proc_unprivileged_unchecked.

Trait Implementations

impl<Sv, I, Y, R, F> Drop for FiberProc<Sv, I, Y, R, F> where
    Sv: Switch<Data<I, FiberState<Y, R>>>,
    F: FnMut(I, Yielder<Sv, I, Y, R>) -> R,
    F: Send + 'static,
    I: Send + 'static,
    Y: Send + 'static,
    R: Send + 'static, 
[src]

impl<Sv, I, Y, R, F> Fiber for FiberProc<Sv, I, Y, R, F> where
    Sv: Switch<Data<I, FiberState<Y, R>>>,
    F: FnMut(I, Yielder<Sv, I, Y, R>) -> R,
    F: Send + 'static,
    I: Send + 'static,
    Y: Send + 'static,
    R: Send + 'static, 
[src]

type Input = I

The type of value this fiber consumes on each resume.

type Return = R

The type of value this fiber returns on completion.

type Yield = Y

The type of value this fiber yields.

impl<Sv, F> RootFiber for FiberProc<Sv, (), (), (), F> where
    Sv: Switch<Data<(), FiberState<(), ()>>>,
    F: FnMut((), Yielder<Sv, (), (), ()>),
    F: Send + 'static, 
[src]

impl<Sv, I, Y, R, F> Send for FiberProc<Sv, I, Y, R, F> where
    Sv: Switch<Data<I, FiberState<Y, R>>>,
    F: FnMut(I, Yielder<Sv, I, Y, R>) -> R,
    F: Send + 'static,
    I: Send + 'static,
    Y: Send + 'static,
    R: Send + 'static, 
[src]

impl<Sv, I, Y, R, F> Unpin for FiberProc<Sv, I, Y, R, F> where
    Sv: Switch<Data<I, FiberState<Y, R>>>,
    F: FnMut(I, Yielder<Sv, I, Y, R>) -> R,
    F: Send + 'static,
    I: Send + 'static,
    Y: Send + 'static,
    R: Send + 'static, 
[src]

Auto Trait Implementations

impl<Sv, I, Y, R, F> !Sync for FiberProc<Sv, I, Y, R, F>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.