...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
// In header: <boost/yap/user_macros.hpp> BOOST_YAP_USER_EXPR_IF_ELSE(expr_template)
Defines a 3-parameter function
if_else() that acts as an analogue to the ternary operator (
?:), since the ternary operator is not user-overloadable. The return type of
if_else() is an expression instantiated from the expr_template expression template.
At least one parameter to
if_else() must be an expression.
For each parameter E passed to
if_else(), if E is an rvalue, E is moved into the result, and otherwise E is captured by reference into the result.