xtensor
Loading...
Searching...
No Matches
xt::xcontainer_semantic< D > Class Template Reference

Implementation of the xsemantic_base interface for dense multidimensional containers. More...

#include <xsemantic.hpp>

Inheritance diagram for xt::xcontainer_semantic< D >:
xt::xsemantic_base< D >

Public Types

using base_type = xsemantic_base<D>
 
using derived_type = D
 
using temporary_type = typename base_type::temporary_type
 
- Public Types inherited from xt::xsemantic_base< D >
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 >
derived_typeassign_xexpression (const xexpression< E > &e)
 
template<class E >
derived_typecomputed_assign (const xexpression< E > &e)
 
template<class E , class F >
derived_typescalar_computed_assign (const E &e, F &&f)
 
Assign functions
derived_typeassign_temporary (temporary_type &&)
 Assigns the temporary tmp to *this.
 
template<class E >
auto assign_xexpression (const xexpression< E > &e) -> derived_type &
 
template<class E >
auto computed_assign (const xexpression< E > &e) -> derived_type &
 
template<class E , class F >
auto scalar_computed_assign (const E &e, F &&f) -> derived_type &
 
template<class E >
auto operator= (const xexpression< E > &e) -> derived_type &
 
- Public Member Functions inherited from xt::xsemantic_base< D >
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 > &)
 
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.
 
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

 xcontainer_semantic (const xcontainer_semantic &)=default
 
xcontainer_semanticoperator= (const xcontainer_semantic &)=default
 
 xcontainer_semantic (xcontainer_semantic &&)=default
 
xcontainer_semanticoperator= (xcontainer_semantic &&)=default
 
template<class E >
derived_typeoperator= (const xexpression< E > &)
 
- Protected Member Functions inherited from xt::xsemantic_base< D >
 xsemantic_base (const xsemantic_base &)=default
 
xsemantic_baseoperator= (const xsemantic_base &)=default
 
 xsemantic_base (xsemantic_base &&)=default
 
xsemantic_baseoperator= (xsemantic_base &&)=default
 
template<class E >
derived_type & operator= (const xexpression< E > &)
 

Detailed Description

template<class D>
class xt::xcontainer_semantic< D >

Implementation of the xsemantic_base interface for dense multidimensional containers.

The xcontainer_semantic class is an implementation of the xsemantic_base interface for dense multidimensional containers.

Template Parameters
Dthe derived type

Definition at line 177 of file xsemantic.hpp.

Member Typedef Documentation

◆ base_type

template<class D >
using xt::xcontainer_semantic< D >::base_type = xsemantic_base<D>

Definition at line 181 of file xsemantic.hpp.

◆ derived_type

template<class D >
using xt::xcontainer_semantic< D >::derived_type = D

Definition at line 182 of file xsemantic.hpp.

◆ temporary_type

template<class D >
using xt::xcontainer_semantic< D >::temporary_type = typename base_type::temporary_type

Definition at line 183 of file xsemantic.hpp.

Member Function Documentation

◆ assign_temporary()

template<class D >
auto xt::xcontainer_semantic< D >::assign_temporary ( temporary_type && tmp)
inline

Assigns the temporary tmp to *this.

Parameters
tmpthe temporary to assign.
Returns
a reference to *this.

Definition at line 652 of file xsemantic.hpp.

◆ assign_xexpression()

template<class D >
template<class E >
auto xt::xcontainer_semantic< D >::assign_xexpression ( const xexpression< E > & e) -> derived_type&
inline

Definition at line 659 of file xsemantic.hpp.

◆ computed_assign()

template<class D >
template<class E >
auto xt::xcontainer_semantic< D >::computed_assign ( const xexpression< E > & e) -> derived_type&
inline

Definition at line 667 of file xsemantic.hpp.

◆ operator=()

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

Definition at line 683 of file xsemantic.hpp.

◆ scalar_computed_assign()

template<class D >
template<class E , class F >
auto xt::xcontainer_semantic< D >::scalar_computed_assign ( const E & e,
F && f ) -> derived_type&
inline

Definition at line 675 of file xsemantic.hpp.


The documentation for this class was generated from the following file: