Trait emf_core_base_rs::extensions::unwind_internal::UnwindInternalContextAPI[][src]

pub trait UnwindInternalContextAPI<'interface> {
    fn setup_unwind<T, U>(
        &self,
        extension: &mut impl UnwindInternalAPI<'interface>,
        interface: &mut T,
        f: impl FnOnce(&mut T) -> U + UnwindSafe
    ) -> U
    where
        T: CBaseAPI<'interface>
;
fn catch_unwind<T, U>(
        &self,
        extension: &mut impl UnwindInternalAPI<'interface>,
        interface: &mut T,
        f: impl FnOnce(&mut T) -> U + UnwindSafe
    ) -> Result<U, Signal>
    where
        T: CBaseAPI<'interface>
; }

Interface of a unwinding context.

Required methods

fn setup_unwind<T, U>(
    &self,
    extension: &mut impl UnwindInternalAPI<'interface>,
    interface: &mut T,
    f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> U where
    T: CBaseAPI<'interface>, 
[src]

Sets up the unwinding for the closure f

Any panic or termination signal, that occurs within f, is propagated.

Return

Return value from f.

fn catch_unwind<T, U>(
    &self,
    extension: &mut impl UnwindInternalAPI<'interface>,
    interface: &mut T,
    f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> Result<U, Signal> where
    T: CBaseAPI<'interface>, 
[src]

Sets up the unwinding for the closure f

Any panic or termination signal, that occurs within f, is caught and returned.

Return

Return value from f or caught signal.

Loading content...

Implementors

impl<'interface> UnwindInternalContextAPI<'interface> for DefaultContext[src]

Loading content...