beman::scope namespace

Types

Name

Description

releaseable_execute_only_when_exception

Invocation checker that enables execution only while unwinding an exception.

releaseable_execute_when_no_exception

Invocation checker that enables execution only when no exception is active.

releaser

Invocation checker used by scope_exit.

scope_guard

Generalized scope guard that conditionally invokes a callable at scope exit.

scope_guard<ScopeExitFunc, void, exception_during_construction_behaviour::dont_invoke_exit_func>

Scope guard specialization that does not invoke its exit function when construction fails.

scope_guard<ScopeExitFunc, void, exception_during_construction_behaviour::invoke_exit_func>

Scope guard specialization that invokes its exit function when construction fails.

scope_guard<ScopeExitFunc, InvokeChecker, ConstructionExceptionBehavior>

Generalized scope guard template

scope_exit

Executes a callable on every scope exit unless released.

scope_fail

Executes a callable only when the scope exits during exception unwinding.

scope_success

Executes a callable only when the scope exits without an exception.

Enums

Name

Description

exception_during_construction_behaviour

Controls whether the exit function runs if a scope guard constructor throws.

Concepts

Name

Description

HasRelease

Checks whether T provides an instance release() member function.

HasStaticRelease

Checks whether T provides a static release() member function.