Value:
    ( \
      if (!(ARG_must_be_true)) \
      { \
        FLOW_LOG_WARNING("Validation failed; the following condition must hold: [" #ARG_must_be_true "]."); \
        outcome = ::flow::cfg::Final_validator_outcome::S_FAIL; \
      } \
    )
#define FLOW_UTIL_SEMICOLON_SAFE(ARG_func_macro_definition)
Use this to create a semicolon-safe version of a "void" functional macro definition consisting of at ...
Definition: util_fwd.hpp:1079
 
Convenience macro particularly useful in the final_validator_func() callback taken by various Config_manager APIs; checks the given condition; if false logs a FLOW_LOG_WARNING() containing the failed condition and executes outcome = flow::cfg::Final_validator_func::S_FAIL;; otherwise no-op. 
Note the context must be such that FLOW_LOG_WARNING() compiles and acts properly.
If auto outcome = flow::cfg::Final_validator_func::S_ACCEPT; precedes multiple invocations of this macro, then by the end of those invocations outcome == S_ACCEPT if and only if all checks passed. All errors will be printed if outcome != S_ACCEPT.
Informally: If you have a condition that would cause your final_validator_func() to return flow::cfg::Final_validator_outcome::S_SKIP, then it is probably best to check for this potential condition, and return flow::cfg::Final_validator_outcome::S_SKIP if it holds, before any further checks (FLOW_CFG_OPT_CHECK_ASSERT() calls).
- Parameters
- 
  
    | ARG_must_be_true | An expression convertible to boolthat should evaluate totrueto avoid WARNING andoutcome = S_FAIL;. |