:relfileprefix: ../../../
[#495B5F82508DA7FA221DB7293833EA9D9EC6AF4E-scope_fail]

= Overload set scope_fail::scope_fail

== Members




[source,cpp,subs="verbatim,macros,-callouts"]
----
template<
    typename F,
    typename = enable_if<detail::conjunction<std::is_constructible<base_type, F, bool>, detail::is_not_like_scope_fail<F>>::value>::type>
scope_fail(
    F&& func,
    bool active = true) noexcept(std::is_nothrow_constructible<base_type, F, bool>::value);
  xref:boost/scope/scope_fail-04/2constructor-00.adoc[pass:c,q,m[*_» more..._*]]
----




[source,cpp,subs="verbatim,macros,-callouts"]
----
template<
    typename F,
    typename C,
    typename = enable_if<std::is_constructible<base_type, F, C, bool>::value>::type>
scope_fail(
    F&& func,
    C&& cond,
    bool active = true) noexcept(std::is_nothrow_constructible<base_type, F, C, bool>::value);
  xref:boost/scope/scope_fail-04/2constructor-0c.adoc[pass:c,q,m[*_» more..._*]]
----




[source,cpp,subs="verbatim,macros,-callouts"]
----
template<
    bool Requires = std::is_move_constructible<base_type>::value,
    typename = enable_if<Requires>::type>
scope_fail(xref:boost/scope/scope_fail-04.adoc[scope_fail]&& that) noexcept(std::is_nothrow_move_constructible<base_type>::value);
  xref:boost/scope/scope_fail-04/2constructor-05.adoc[pass:c,q,m[*_» more..._*]]
----




[source,cpp,subs="verbatim,macros,-callouts"]
----
scope_fail(const xref:boost/scope/scope_fail-04.adoc[scope_fail]&) = delete;
  xref:boost/scope/scope_fail-04/2constructor-0b.adoc[pass:c,q,m[*_» more..._*]]
----

