...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
BOOST_YAP_USER_CALL_OPERATOR_N
// In header: <boost/yap/user_macros.hpp>
BOOST_YAP_USER_CALL_OPERATOR_N(expr_template, n)
Defines operator overloads for the call operator taking N parameters ("operator()(t0, t1, ... tn-1)") that each produce an expression instantiated from the expr_template expression template. One overload is defined for each of the qualifiers const &
, &
, and &&
. For the lvalue reference overloads, *this
is captured by reference into the resulting expression. For the rvalue reference overload, *this
is moved into the resulting expression.
The u parameters to each of the defined overloads may be any type, including an expression. Each non-expression is wrapped in a terminal expression.
Example:
Parameters: |
|