Loading...
Searching...
No Matches
when.hpp File Reference
#include <utility>
#include <cstdlib>
#include <functional>
#include "indep/def/_nout.hpp"
#include "indep/common/typedef.hpp"
#include "indep/helper/typeTrait.hpp"
#include "indep/macro/declThis.hpp"
#include "indep/macro/byeolMeta.hpp"
#include "indep/helper/tmay.hpp"

Go to the source code of this file.

Classes

class  by::__WHEN_OBJECT__
 Conditional logging utility for clog module. More...
 

Macros

#define __WHEN_OBJECT__   __indep_when__
 Early-return pattern macro for exception handling.
 
#define BY_WHEN   ::by::__WHEN_OBJECT__::get()
 
#define __WHEN_POSTFIX__   return BY_WHEN
 
#define WHEN(condition)    if(condition) __WHEN_POSTFIX__
 
#define WHEN_NUL_1(v1)    if(nul(v1)) __WHEN_POSTFIX__
 
#define WHEN_NUL_2(v1, v2)    if(nul(v1) || nul(v2)) __WHEN_POSTFIX__
 
#define WHEN_NUL_3(v1, v2, v3)    if(nul(v1) || nul(v2) || nul(v3)) __WHEN_POSTFIX__
 
#define WHEN_NUL_4(v1, v2, v3, v4)    if(nul(v1) || nul(v2) || nul(v3) || nul(v4)) __WHEN_POSTFIX__
 
#define WHEN_NUL_5(v1, v2, v3, v4, v5)    if(nul(v1) || nul(v2) || nul(v3) || nul(v4) || nul(v5)) __WHEN_POSTFIX__
 
#define WHEN_NUL_6(v1, v2, v3, v4, v5, v6)    if(nul(v1) || nul(v2) || nul(v3) || nul(v4) || nul(v5) || nul(v6)) __WHEN_POSTFIX__
 
#define WHEN_NUL(...)   BY_OVERLOAD(WHEN_NUL, __VA_ARGS__)
 

Detailed Description

Conditional compilation and execution macros