...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_ASSIGN_OPERATOR
// In header: <boost/yap/user_macros.hpp>
BOOST_YAP_USER_ASSIGN_OPERATOR(this_type, expr_template)
Defines operator overloads for 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 rhs parameter to each of the defined overloads may be any type, including an expression, except that the overloads are constrained by std::enable_if<> not to conflict with the assignment and move assignement operators. If rhs is a non-expression, it is wrapped in a terminal expression.
Example:
Parameters: |
|