xtensor
|
Base interface for assignable xexpressions. More...
#include <xsemantic.hpp>
Public Types | |
using | base_type = select_expression_base_t<D> |
using | derived_type = typename base_type::derived_type |
using | temporary_type = typename xcontainer_inner_types<D>::temporary_type |
Public Member Functions | |
template<class E > | |
disable_xexpression< E, derived_type & > | operator+= (const E &) |
template<class E > | |
disable_xexpression< E, derived_type & > | operator-= (const E &) |
template<class E > | |
disable_xexpression< E, derived_type & > | operator*= (const E &) |
template<class E > | |
disable_xexpression< E, derived_type & > | operator/= (const E &) |
template<class E > | |
disable_xexpression< E, derived_type & > | operator%= (const E &) |
template<class E > | |
disable_xexpression< E, derived_type & > | operator&= (const E &) |
template<class E > | |
disable_xexpression< E, derived_type & > | operator|= (const E &) |
template<class E > | |
disable_xexpression< E, derived_type & > | operator^= (const E &) |
template<class E > | |
derived_type & | operator+= (const xexpression< E > &) |
template<class E > | |
derived_type & | operator-= (const xexpression< E > &) |
template<class E > | |
derived_type & | operator*= (const xexpression< E > &) |
template<class E > | |
derived_type & | operator/= (const xexpression< E > &) |
template<class E > | |
derived_type & | operator%= (const xexpression< E > &) |
template<class E > | |
derived_type & | operator&= (const xexpression< E > &) |
template<class E > | |
derived_type & | operator|= (const xexpression< E > &) |
template<class E > | |
derived_type & | operator^= (const xexpression< E > &) |
template<class E > | |
derived_type & | assign (const xexpression< E > &) |
template<class E > | |
derived_type & | plus_assign (const xexpression< E > &) |
template<class E > | |
derived_type & | minus_assign (const xexpression< E > &) |
template<class E > | |
derived_type & | multiplies_assign (const xexpression< E > &) |
template<class E > | |
derived_type & | divides_assign (const xexpression< E > &) |
template<class E > | |
derived_type & | modulus_assign (const xexpression< E > &) |
template<class E > | |
derived_type & | bit_and_assign (const xexpression< E > &) |
template<class E > | |
derived_type & | bit_or_assign (const xexpression< E > &) |
template<class E > | |
derived_type & | bit_xor_assign (const xexpression< E > &) |
Computed assignement | |
template<class E > | |
auto | operator+= (const E &e) -> disable_xexpression< E, derived_type & > |
Adds the scalar e to *this . | |
template<class E > | |
auto | operator-= (const E &e) -> disable_xexpression< E, derived_type & > |
Subtracts the scalar e from *this . | |
template<class E > | |
auto | operator*= (const E &e) -> disable_xexpression< E, derived_type & > |
Multiplies *this with the scalar e . | |
template<class E > | |
auto | operator/= (const E &e) -> disable_xexpression< E, derived_type & > |
Divides *this by the scalar e . | |
template<class E > | |
auto | operator%= (const E &e) -> disable_xexpression< E, derived_type & > |
Computes the remainder of *this after division by the scalar e . | |
template<class E > | |
auto | operator&= (const E &e) -> disable_xexpression< E, derived_type & > |
Computes the bitwise and of *this and the scalar e and assigns it to *this . | |
template<class E > | |
auto | operator|= (const E &e) -> disable_xexpression< E, derived_type & > |
Computes the bitwise or of *this and the scalar e and assigns it to *this . | |
template<class E > | |
auto | operator^= (const E &e) -> disable_xexpression< E, derived_type & > |
Computes the bitwise xor of *this and the scalar e and assigns it to *this . | |
template<class E > | |
auto | operator+= (const xexpression< E > &e) -> derived_type & |
Adds the xexpression e to *this . | |
template<class E > | |
auto | operator-= (const xexpression< E > &e) -> derived_type & |
Subtracts the xexpression e from *this . | |
template<class E > | |
auto | operator*= (const xexpression< E > &e) -> derived_type & |
Multiplies *this with the xexpression e . | |
template<class E > | |
auto | operator/= (const xexpression< E > &e) -> derived_type & |
Divides *this by the xexpression e . | |
template<class E > | |
auto | operator%= (const xexpression< E > &e) -> derived_type & |
Computes the remainder of *this after division by the xexpression e . | |
template<class E > | |
auto | operator&= (const xexpression< E > &e) -> derived_type & |
Computes the bitwise and of *this and the xexpression e and assigns it to *this . | |
template<class E > | |
auto | operator|= (const xexpression< E > &e) -> derived_type & |
Computes the bitwise or of *this and the xexpression e and assigns it to *this . | |
template<class E > | |
auto | operator^= (const xexpression< E > &e) -> derived_type & |
Computes the bitwise xor of *this and the xexpression e and assigns it to *this . | |
Assign functions | |
template<class E > | |
auto | assign (const xexpression< E > &e) -> derived_type & |
Assigns the xexpression e to *this . | |
template<class E > | |
auto | plus_assign (const xexpression< E > &e) -> derived_type & |
Adds the xexpression e to *this . | |
template<class E > | |
auto | minus_assign (const xexpression< E > &e) -> derived_type & |
Subtracts the xexpression e to *this . | |
template<class E > | |
auto | multiplies_assign (const xexpression< E > &e) -> derived_type & |
Multiplies *this with the xexpression e . | |
template<class E > | |
auto | divides_assign (const xexpression< E > &e) -> derived_type & |
Divides *this by the xexpression e . | |
template<class E > | |
auto | modulus_assign (const xexpression< E > &e) -> derived_type & |
Computes the remainder of *this after division by the xexpression e . | |
template<class E > | |
auto | bit_and_assign (const xexpression< E > &e) -> derived_type & |
Computes the bitwise and of e to *this . | |
template<class E > | |
auto | bit_or_assign (const xexpression< E > &e) -> derived_type & |
Computes the bitwise or of e to *this . | |
template<class E > | |
auto | bit_xor_assign (const xexpression< E > &e) -> derived_type & |
Computes the bitwise xor of e to *this . | |
template<class E > | |
auto | operator= (const xexpression< E > &e) -> derived_type & |
Protected Member Functions | |
xsemantic_base (const xsemantic_base &)=default | |
xsemantic_base & | operator= (const xsemantic_base &)=default |
xsemantic_base (xsemantic_base &&)=default | |
xsemantic_base & | operator= (xsemantic_base &&)=default |
template<class E > | |
derived_type & | operator= (const xexpression< E > &) |
Base interface for assignable xexpressions.
The xsemantic_base class defines the interface for assignable xexpressions.
D | The derived type, i.e. the inheriting class for which xsemantic_base provides the interface. |
Definition at line 57 of file xsemantic.hpp.
Definition at line 61 of file xsemantic.hpp.
Definition at line 62 of file xsemantic.hpp.
using xt::xsemantic_base< D >::temporary_type = typename xcontainer_inner_types<D>::temporary_type |
Definition at line 64 of file xsemantic.hpp.
|
inline |
Assigns the xexpression e
to *this
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression to assign. |
*this
. Definition at line 511 of file xsemantic.hpp.
|
inline |
Computes the bitwise and of e
to *this
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression to add. |
*this
. Definition at line 589 of file xsemantic.hpp.
|
inline |
Computes the bitwise or of e
to *this
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression to add. |
*this
. Definition at line 602 of file xsemantic.hpp.
|
inline |
Computes the bitwise xor of e
to *this
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression to add. |
*this
. Definition at line 615 of file xsemantic.hpp.
|
inline |
Divides *this
by the xexpression e
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression involved in the operation. |
*this
. Definition at line 563 of file xsemantic.hpp.
|
inline |
Subtracts the xexpression e
to *this
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression to subtract. |
*this
. Definition at line 537 of file xsemantic.hpp.
|
inline |
Computes the remainder of *this
after division by the xexpression e
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression involved in the operation. |
*this
. Definition at line 576 of file xsemantic.hpp.
|
inline |
Multiplies *this
with the xexpression e
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression involved in the operation. |
*this
. Definition at line 550 of file xsemantic.hpp.
|
inline |
Computes the remainder of *this
after division by the scalar e
.
e | the scalar involved in the operation. |
*this
. Definition at line 360 of file xsemantic.hpp.
|
inline |
Computes the remainder of *this
after division by the xexpression e
.
e | the xexpression involved in the operation. |
*this
. Definition at line 456 of file xsemantic.hpp.
|
inline |
Computes the bitwise and of *this
and the scalar e
and assigns it to *this
.
e | the scalar involved in the operation. |
*this
. Definition at line 372 of file xsemantic.hpp.
|
inline |
Computes the bitwise and of *this
and the xexpression e
and assigns it to *this
.
e | the xexpression involved in the operation. |
*this
. Definition at line 468 of file xsemantic.hpp.
|
inline |
Multiplies *this
with the scalar e
.
e | the scalar involved in the operation. |
*this
. Definition at line 336 of file xsemantic.hpp.
|
inline |
Multiplies *this
with the xexpression e
.
e | the xexpression involved in the operation. |
*this
. Definition at line 432 of file xsemantic.hpp.
|
inline |
Adds the scalar e
to *this
.
e | the scalar to add. |
*this
. Definition at line 312 of file xsemantic.hpp.
|
inline |
Adds the xexpression e
to *this
.
e | the xexpression to add. |
*this
. Definition at line 408 of file xsemantic.hpp.
|
inline |
Subtracts the scalar e
from *this
.
e | the scalar to subtract. |
*this
. Definition at line 324 of file xsemantic.hpp.
|
inline |
Subtracts the xexpression e
from *this
.
e | the xexpression to subtract. |
*this
. Definition at line 420 of file xsemantic.hpp.
|
inline |
Divides *this
by the scalar e
.
e | the scalar involved in the operation. |
*this
. Definition at line 348 of file xsemantic.hpp.
|
inline |
Divides *this
by the xexpression e
.
e | the xexpression involved in the operation. |
*this
. Definition at line 444 of file xsemantic.hpp.
|
inline |
Definition at line 622 of file xsemantic.hpp.
|
inline |
Computes the bitwise xor of *this
and the scalar e
and assigns it to *this
.
e | the scalar involved in the operation. |
*this
. Definition at line 396 of file xsemantic.hpp.
|
inline |
Computes the bitwise xor of *this
and the xexpression e
and assigns it to *this
.
e | the xexpression involved in the operation. |
*this
. Definition at line 492 of file xsemantic.hpp.
|
inline |
Computes the bitwise or of *this
and the scalar e
and assigns it to *this
.
e | the scalar involved in the operation. |
*this
. Definition at line 384 of file xsemantic.hpp.
|
inline |
Computes the bitwise or of *this
and the xexpression e
and assigns it to *this
.
e | the xexpression involved in the operation. |
*this
. Definition at line 480 of file xsemantic.hpp.
|
inline |
Adds the xexpression e
to *this
.
Ensures no temporary will be used to perform the assignment.
e | the xexpression to add. |
*this
. Definition at line 524 of file xsemantic.hpp.