Go to the source code of this file.
|
| class | by::end |
| | Deferred execution utility similar to defer keyword in other languages. More...
|
| |
|
|
#define | BY_END_BLOCK_2(__class, blockStmt) auto BY_CONCAT(__defer__, __COUNTER__) = __class(blockStmt) |
| |
|
#define | BY_END_BLOCK_1(blockStmt) BY_END_BLOCK_2(end, [&]() blockStmt) |
| |
|
#define | BY_END_BLOCK(...) BY_OVERLOAD(BY_END_BLOCK, __VA_ARGS__) |
| |
|
#define | BY_END_2(__class, stmt) auto BY_CONCAT(__defer__, __COUNTER__) = __class(stmt) |
| |
|
#define | BY_END_1(stmt) BY_END_2(end, ([&]() { stmt; })) |
| |
|
#define | BY_END(...) BY_OVERLOAD(BY_END, __VA_ARGS__) |
| |