| JUCE
    | 
A ScopeGuard that uses a std::function internally to allow type erasure. More...
#include <juce_ScopeGuard.h>
| Public Member Functions | |
| ErasedScopeGuard ()=default | |
| Constructs an ErasedScopeGuard with no callback. | |
| ErasedScopeGuard (std::function< void()> d) | |
| Constructs an ErasedScopeGuard that will call the provided callback when the Guard is destroyed. | |
| ErasedScopeGuard (ErasedScopeGuard &&other) noexcept | |
| Constructs an instance that assumes responsibility for calling other's callback. | |
| ErasedScopeGuard & | operator= (ErasedScopeGuard &&other) noexcept | 
| Calls the stored callback, if any, then assumes responsibility for calling other's callback. | |
| ~ErasedScopeGuard () noexcept | |
| Destructor, calls the callback assigned to this ScopeGuard. | |
| void | reset () | 
| Calls the stored callback, if any, then resets this instance to its default state. | |
| void | release () | 
| Resets this instance to its default state without calling the stored callback. | |
A ScopeGuard that uses a std::function internally to allow type erasure.
This can be handy; it allows lots of ErasedScopeGuards, all with different callbacks, to be stored in a homogeneous container.
An instance of this type will automatically call its callback when it is destroyed.
ErasedScopeGuard has a few similarities with std::unique_ptr:
| 
 | default | 
Constructs an ErasedScopeGuard with no callback.
| 
 | explicit | 
Constructs an ErasedScopeGuard that will call the provided callback when the Guard is destroyed.
| 
 | noexcept | 
Constructs an instance that assumes responsibility for calling other's callback.
| 
 | noexcept | 
Destructor, calls the callback assigned to this ScopeGuard.
| 
 | noexcept | 
Calls the stored callback, if any, then assumes responsibility for calling other's callback.
After this call, other will be reset to its default state.
| void ErasedScopeGuard::reset | ( | ) | 
Calls the stored callback, if any, then resets this instance to its default state.
| void ErasedScopeGuard::release | ( | ) | 
Resets this instance to its default state without calling the stored callback.