Loading...
Searching...
No Matches
end.hpp File Reference
#include "indep/common.hpp"
#include "indep/macro.hpp"

Go to the source code of this file.

Classes

class  by::end
 Deferred execution utility similar to defer keyword in other languages. More...
 

Macros

#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__)