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.
| using xt::xsemantic_base< D >::base_type = select_expression_base_t<D> |
Definition at line 61 of file xsemantic.hpp.
| using xt::xsemantic_base< D >::derived_type = typename base_type::derived_type |
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.