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.