17 JPH_INLINE
explicit ScopeExit(F &&inFunction) : mFunction(
std::move(inFunction)) { }
40 bool mInvoked =
false;
43#define JPH_SCOPE_EXIT_TAG2(line) scope_exit##line
44#define JPH_SCOPE_EXIT_TAG(line) JPH_SCOPE_EXIT_TAG2(line)
47#define JPH_SCOPE_EXIT(...) ScopeExit JPH_SCOPE_EXIT_TAG(__LINE__)(__VA_ARGS__)
#define JPH_NAMESPACE_END
Definition: Core.h:378
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:372
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition: NonCopyable.h:11
Class that calls a function when it goes out of scope.
Definition: ScopeExit.h:14
JPH_INLINE ~ScopeExit()
Destructor calls the exit function.
Definition: ScopeExit.h:20
JPH_INLINE void Release()
No longer call the exit function when going out of scope.
Definition: ScopeExit.h:33
JPH_INLINE void Invoke()
Call the exit function now instead of when going out of scope.
Definition: ScopeExit.h:23
JPH_INLINE ScopeExit(F &&inFunction)
Constructor specifies the exit function.
Definition: ScopeExit.h:17