xsemantic_base

Defined in xtensor/xsemantic.hpp

template<class D>
class xsemantic_base : public select_expression_base_t<D>

Base interface for assignable xexpressions.

The xsemantic_base class defines the interface for assignable xexpressions.

Template Parameters

D – The derived type, i.e. the inheriting class for which xsemantic_base provides the interface.

Subclassed by xt::xchunked_semantic< D >, xt::xcontainer_semantic< D >, xt::xview_semantic< D >

Computed assignement

template<class E>
inline auto operator+=(const E &e) -> disable_xexpression<E, derived_type&>

Adds the scalar e to *this.

Parameters

e – the scalar to add.

Returns

a reference to *this.

template<class E>
inline auto operator-=(const E &e) -> disable_xexpression<E, derived_type&>

Subtracts the scalar e from *this.

Parameters

e – the scalar to subtract.

Returns

a reference to *this.

template<class E>
inline auto operator*=(const E &e) -> disable_xexpression<E, derived_type&>

Multiplies *this with the scalar e.

Parameters

e – the scalar involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto operator/=(const E &e) -> disable_xexpression<E, derived_type&>

Divides *this by the scalar e.

Parameters

e – the scalar involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto operator%=(const E &e) -> disable_xexpression<E, derived_type&>

Computes the remainder of *this after division by the scalar e.

Parameters

e – the scalar involved in the operation.

Returns

a reference to *this.

template<class E>
inline 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.

Parameters

e – the scalar involved in the operation.

Returns

a reference to *this.

template<class E>
inline 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.

Parameters

e – the scalar involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto operator+=(const xexpression<E> &e) -> derived_type&

Adds the xexpression e to *this.

Parameters

e – the xexpression to add.

Returns

a reference to *this.

template<class E>
inline auto operator-=(const xexpression<E> &e) -> derived_type&

Subtracts the xexpression e from *this.

Parameters

e – the xexpression to subtract.

Returns

a reference to *this.

template<class E>
inline auto operator*=(const xexpression<E> &e) -> derived_type&

Multiplies *this with the xexpression e.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto operator/=(const xexpression<E> &e) -> derived_type&

Divides *this by the xexpression e.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto operator%=(const xexpression<E> &e) -> derived_type&

Computes the remainder of *this after division by the xexpression e.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto operator|=(const xexpression<E> &e) -> derived_type&

Computes the bitwise or of *this and the xexpression e and assigns it to *this.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto operator^=(const xexpression<E> &e) -> derived_type&

Computes the bitwise xor of *this and the xexpression e and assigns it to *this.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

Assign functions

template<class E>
inline auto assign(const xexpression<E> &e) -> derived_type&

Assigns the xexpression e to *this.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression to assign.

Returns

a reference to *this.

template<class E>
inline auto plus_assign(const xexpression<E> &e) -> derived_type&

Adds the xexpression e to *this.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression to add.

Returns

a reference to *this.

template<class E>
inline auto minus_assign(const xexpression<E> &e) -> derived_type&

Subtracts the xexpression e to *this.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression to subtract.

Returns

a reference to *this.

template<class E>
inline auto multiplies_assign(const xexpression<E> &e) -> derived_type&

Multiplies *this with the xexpression e.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto divides_assign(const xexpression<E> &e) -> derived_type&

Divides *this by the xexpression e.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto modulus_assign(const xexpression<E> &e) -> derived_type&

Computes the remainder of *this after division by the xexpression e.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression involved in the operation.

Returns

a reference to *this.

template<class E>
inline auto bit_and_assign(const xexpression<E> &e) -> derived_type&

Computes the bitwise and of e to *this.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression to add.

Returns

a reference to *this.

template<class E>
inline auto bit_or_assign(const xexpression<E> &e) -> derived_type&

Computes the bitwise or of e to *this.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression to add.

Returns

a reference to *this.

template<class E>
inline auto bit_xor_assign(const xexpression<E> &e) -> derived_type&

Computes the bitwise xor of e to *this.

Ensures no temporary will be used to perform the assignment.

Parameters

e – the xexpression to add.

Returns

a reference to *this.