Jive reference manual
Array assignment operators

#include <jem/base/array/operators.h> or
#include <jem/base/Array.h>.

In addition to the standard assignment operator, jem provides a set of overloaded computed assignment operators for arrays and array expressions. These are defined as follows:

template <class T, int N>
const ArrayExpr<T,N>& operator \<op\>= ( const ArrayExpr<T,N>& lhs,
const T& rhs )
{
return ( lhs = lhs <op> rhs );
}
template <class T, int N>
const ArrayExpr<T,N>& operator \<op\>= ( const ArrayExpr<T,N>& lhs,
const ArrayExpr<T,N>& rhs )
{
return ( lhs = lhs <op> rhs );
}

where <op> can be one of the following operators:

The computed assignment operators should be called with two arguments. The first one should be an Array object or an lvalue array expression. The second argument should be an Array object, an rvalue array expression, or a scalar. All operators return a reference to the first argument.

The computed assignment operators are defined in the header file <jem/base/array/operators.h>. They are also available through the general header file <jem/base/Array.h>.

Note that the computed assignment operators are not member functions.