| 
    ML Reference
    
   | 
 
Go to the source code of this file.
Classes | |
| class | ml::ScopeGuardDetail::ScopeGuard< Functor > | 
Namespaces | |
| namespace | ml | 
| Main documentation file for ML users and developers.  | |
| namespace | ml::ScopeGuardDetail | 
Macros | |
| #define | ML_UTILITIES_CONCATENATE_IMPL(s1, s2) s1##s2 | 
| Helper class for performing actions when the current scope is left.   | |
| #define | ML_UTILITIES_CONCATENATE(s1, s2) ML_UTILITIES_CONCATENATE_IMPL(s1,s2) | 
| #define | ML_UTILITIES_ANONYMOUS_VARIABLE(str) ML_UTILITIES_CONCATENATE(str,__LINE__) | 
| #define | SCOPE_EXIT | 
| Use this macro in case of an anonymous scope guard like SCOPE_EXIT { foo.needsToBeDoneOnLeavingTheScope(); };.   | |
| #define | EXPLICIT_SCOPE_EXIT ::ML_NAMESPACE::ScopeGuardDetail::ScopeGuardOnExit() + [&]() | 
| Use this macro in case you like an explicit ScopeGuard.   | |
Enumerations | |
| enum class | ml::ScopeGuardDetail::ScopeGuardOnExit | 
Functions | |
| template<class Functor > | |
| ScopeGuard< Functor > | ml::ScopeGuardDetail::operator+ (ScopeGuardOnExit, Functor &&fn) | 
| #define EXPLICIT_SCOPE_EXIT ::ML_NAMESPACE::ScopeGuardDetail::ScopeGuardOnExit() + [&]() | 
Use this macro in case you like an explicit ScopeGuard.
This is handy if there is a case where you want to dismiss the action to be taken on leaving the scope.
auto localGuard = EXPLICIT_SCOPE_EXIT { foo.needsToBeDoneOnLeavingTheScope(); }; ... if (specialCase) { localGuard.dismiss(); }
Note: Do not forget the semicolon after the closing brace!
Definition at line 116 of file mlScopeGuard.h.
| #define ML_UTILITIES_ANONYMOUS_VARIABLE | ( | str | ) | ML_UTILITIES_CONCATENATE(str,__LINE__) | 
Definition at line 33 of file mlScopeGuard.h.
| #define ML_UTILITIES_CONCATENATE | ( | s1, | |
| s2 | |||
| ) | ML_UTILITIES_CONCATENATE_IMPL(s1,s2) | 
Definition at line 25 of file mlScopeGuard.h.
| #define ML_UTILITIES_CONCATENATE_IMPL | ( | s1, | |
| s2 | |||
| ) | s1##s2 | 
Helper class for performing actions when the current scope is left.
Originally implemention by Andrei Alexandrescu.
Definition at line 24 of file mlScopeGuard.h.
| #define SCOPE_EXIT | 
Use this macro in case of an anonymous scope guard like SCOPE_EXIT { foo.needsToBeDoneOnLeavingTheScope(); };.
Note: Do not forget the semicolon after the closing brace!
Definition at line 96 of file mlScopeGuard.h.