Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Macro BOOST_YAP_USER_ASSIGN_OPERATOR

BOOST_YAP_USER_ASSIGN_OPERATOR

Synopsis

// In header: <boost/yap/user_macros.hpp>

BOOST_YAP_USER_ASSIGN_OPERATOR(this_type, expr_template)

Description

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:

expr_template

The expression template to use to instantiate the result expression. expr_template must be an ExpressionTemplate.

this_type

The type of the class the operator is a member of; this is required to avoid clashing with the assignment and move assignement operators.


PrevUpHomeNext