BOOST_YAP_USER_CALL_OPERATOR
// In header: <boost/yap/user_macros.hpp>
BOOST_YAP_USER_CALL_OPERATOR(expr_template)Defines operator overloads for the call operator taking any number of parameters ("operator()") 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:
template <boost::yap::expr_kind Kind, typename Tuple> struct user_expr { static const boost::yap::expr_kind kind = Kind; Tuple elements; // Member operator overloads for operator()(). These will match any // number of parameters. Each one can be any type, even another // expression. BOOST_YAP_USER_CALL_OPERATOR(::user_expr) };
Parameters: |
|