## Function template make_scope_exit

boost::scope::make_scope_exit — Creates a conditional scope guard with given callable function objects.

## Synopsis

    // In header: <boost/scope/scope_exit.hpp>

    template<typename F, typename C>
      scope_exit< typename std::decay< F >::type, typename std::decay< C >::type >
      make_scope_exit(F && func, C && cond, bool active = true);

## Description

Effects: Constructs a scope guard as if by calling `scope_exit< std::decay_t< F >, std::decay_t< C > >( std::forward< F >(func), std::forward< C >(cond), active)`.

Parameters: |
`func` | The callable action function object to invoke on destruction.
`cond` | The callable condition function object.
`active` | Indicates whether the scope guard should be active upon construction.