19 #ifndef MIR_UNWIND_HELPERS_H_ 20 #define MIR_UNWIND_HELPERS_H_ 27 template<
typename Unwind>
31 template<
typename Apply>
33 : unwind{std::move(unwind)}
39 : unwind{std::move(unwind)}
44 : unwind{std::move(rhs.unwind)}
50 if (std::uncaught_exception())
61 template<
typename Apply,
typename Revert>
68 template<
typename Revert>
All things Mir.
Definition: atomic_callback.h:25
auto on_unwind(Revert &&action) -> RevertIfUnwinding< Revert >
Definition: unwind_helpers.h:69
RevertIfUnwinding(Unwind &&unwind)
Definition: unwind_helpers.h:38
RevertIfUnwinding(RevertIfUnwinding< Unwind > &&rhs)
Definition: unwind_helpers.h:43
Definition: unwind_helpers.h:28
RevertIfUnwinding(Apply &&apply, Unwind &&unwind)
Definition: unwind_helpers.h:32
auto try_but_revert_if_unwinding(Apply &&apply, Revert &&reverse) -> RevertIfUnwinding< Revert >
Definition: unwind_helpers.h:62
~RevertIfUnwinding()
Definition: unwind_helpers.h:48