TiledArray::expressions::BlkTsrExpr< Array, Alias > Class Template Reference

Documentation

template<typename Array, bool Alias>
class TiledArray::expressions::BlkTsrExpr< Array, Alias >

Block expression.

Template Parameters
ArrayThe array type
AliasIndicates the array tiles should be computed as a temporary before assignment

Definition at line 289 of file blk_tsr_expr.h.

Public Types

typedef BlkTsrExpr< Array, Alias > BlkTsrExpr_
 This class type. More...
 
typedef BlkTsrExprBase< BlkTsrExpr_BlkTsrExprBase_
 Block expression base type. More...
 
typedef ExprTrait< BlkTsrExpr_ >::engine_type engine_type
 Expression engine type. More...
 
typedef ExprTrait< BlkTsrExpr_ >::array_type array_type
 The array type. More...
 
typedef ExprTrait< BlkTsrExpr_ >::reference reference
 The array reference type. More...
 

Public Member Functions

 BlkTsrExpr ()=delete
 
 BlkTsrExpr (const BlkTsrExpr_ &)=default
 
 BlkTsrExpr (BlkTsrExpr_ &&)=default
 
 ~BlkTsrExpr ()=default
 
template<typename Index1 , typename Index2 , typename = std::enable_if_t< TiledArray::detail::is_integral_range_v<Index1> && TiledArray::detail::is_integral_range_v<Index2>>>
 BlkTsrExpr (reference array, const std::string &annotation, const Index1 &lower_bound, const Index2 &upper_bound)
 Block expression constructor. More...
 
template<typename PairRange , typename = std::enable_if_t< TiledArray::detail::is_gpair_range_v<PairRange>>>
 BlkTsrExpr (reference array, const std::string &annotation, const PairRange &bounds)
 Block expression constructor. More...
 
reference operator= (const BlkTsrExpr_ &other)
 Block expression constructor. More...
 
reference operator= (BlkTsrExpr_ &&other)
 Expression assignment operator. More...
 
template<typename D >
reference operator= (const Expr< D > &other)
 Expression assignment operator. More...
 
template<typename D >
reference operator+= (const Expr< D > &other)
 Expression plus-assignment operator. More...
 
template<typename D >
reference operator-= (const Expr< D > &other)
 Expression minus-assignment operator. More...
 
template<typename D >
reference operator*= (const Expr< D > &other)
 Expression multiply-assignment operator. More...
 
BlkTsrExpr< Array, false > no_alias () const
 Flag this tensor expression for a non-aliasing assignment. More...
 
ConjBlkTsrExpr< array_typeconj () const
 Conjugated block tensor expression factory. More...
 

Member Typedef Documentation

◆ array_type

template<typename Array , bool Alias>
typedef ExprTrait<BlkTsrExpr_>::array_type TiledArray::expressions::BlkTsrExpr< Array, Alias >::array_type

The array type.

Definition at line 296 of file blk_tsr_expr.h.

◆ BlkTsrExpr_

template<typename Array , bool Alias>
typedef BlkTsrExpr<Array, Alias> TiledArray::expressions::BlkTsrExpr< Array, Alias >::BlkTsrExpr_

This class type.

Definition at line 291 of file blk_tsr_expr.h.

◆ BlkTsrExprBase_

template<typename Array , bool Alias>
typedef BlkTsrExprBase<BlkTsrExpr_> TiledArray::expressions::BlkTsrExpr< Array, Alias >::BlkTsrExprBase_

Block expression base type.

Definition at line 293 of file blk_tsr_expr.h.

◆ engine_type

template<typename Array , bool Alias>
typedef ExprTrait<BlkTsrExpr_>::engine_type TiledArray::expressions::BlkTsrExpr< Array, Alias >::engine_type

Expression engine type.

Definition at line 294 of file blk_tsr_expr.h.

◆ reference

template<typename Array , bool Alias>
typedef ExprTrait<BlkTsrExpr_>::reference TiledArray::expressions::BlkTsrExpr< Array, Alias >::reference

The array reference type.

Definition at line 298 of file blk_tsr_expr.h.

Constructor & Destructor Documentation

◆ BlkTsrExpr() [1/5]

template<typename Array , bool Alias>
TiledArray::expressions::BlkTsrExpr< Array, Alias >::BlkTsrExpr ( )
delete

◆ BlkTsrExpr() [2/5]

template<typename Array , bool Alias>
TiledArray::expressions::BlkTsrExpr< Array, Alias >::BlkTsrExpr ( const BlkTsrExpr_ )
default

◆ BlkTsrExpr() [3/5]

template<typename Array , bool Alias>
TiledArray::expressions::BlkTsrExpr< Array, Alias >::BlkTsrExpr ( BlkTsrExpr_ &&  )
default

◆ ~BlkTsrExpr()

template<typename Array , bool Alias>
TiledArray::expressions::BlkTsrExpr< Array, Alias >::~BlkTsrExpr ( )
default

◆ BlkTsrExpr() [4/5]

template<typename Array , bool Alias>
template<typename Index1 , typename Index2 , typename = std::enable_if_t< TiledArray::detail::is_integral_range_v<Index1> && TiledArray::detail::is_integral_range_v<Index2>>>
TiledArray::expressions::BlkTsrExpr< Array, Alias >::BlkTsrExpr ( reference  array,
const std::string &  annotation,
const Index1 &  lower_bound,
const Index2 &  upper_bound 
)
inline

Block expression constructor.

Template Parameters
Index1An integral range type
Index2An integral range type
Parameters
arrayThe array object
annotationThe array annotation
lower_boundThe lower bound of the tile block
upper_boundThe upper bound of the tile block

Definition at line 319 of file blk_tsr_expr.h.

◆ BlkTsrExpr() [5/5]

template<typename Array , bool Alias>
template<typename PairRange , typename = std::enable_if_t< TiledArray::detail::is_gpair_range_v<PairRange>>>
TiledArray::expressions::BlkTsrExpr< Array, Alias >::BlkTsrExpr ( reference  array,
const std::string &  annotation,
const PairRange &  bounds 
)
inline

Block expression constructor.

Template Parameters
PairRangeType representing a range of generalized pairs (see TiledArray::detail::is_gpair_v ) the sub-block

Definition at line 334 of file blk_tsr_expr.h.

Member Function Documentation

◆ conj()

template<typename Array , bool Alias>
ConjBlkTsrExpr<array_type> TiledArray::expressions::BlkTsrExpr< Array, Alias >::conj ( ) const
inline

Conjugated block tensor expression factory.

Returns
A conjugated block expression object

Definition at line 429 of file blk_tsr_expr.h.

Here is the call graph for this function:

◆ no_alias()

template<typename Array , bool Alias>
BlkTsrExpr<Array, false> TiledArray::expressions::BlkTsrExpr< Array, Alias >::no_alias ( ) const
inline

Flag this tensor expression for a non-aliasing assignment.

Returns
A non-aliased block tensor expression

Definition at line 421 of file blk_tsr_expr.h.

◆ operator*=()

template<typename Array , bool Alias>
template<typename D >
reference TiledArray::expressions::BlkTsrExpr< Array, Alias >::operator*= ( const Expr< D > &  other)
inline

Expression multiply-assignment operator.

Template Parameters
DThe derived expression type
Parameters
otherThe expression that will scale this array

Definition at line 410 of file blk_tsr_expr.h.

Here is the call graph for this function:

◆ operator+=()

template<typename Array , bool Alias>
template<typename D >
reference TiledArray::expressions::BlkTsrExpr< Array, Alias >::operator+= ( const Expr< D > &  other)
inline

Expression plus-assignment operator.

Template Parameters
DThe derived expression type
Parameters
otherThe expression that will be added to this array

Definition at line 384 of file blk_tsr_expr.h.

Here is the call graph for this function:

◆ operator-=()

template<typename Array , bool Alias>
template<typename D >
reference TiledArray::expressions::BlkTsrExpr< Array, Alias >::operator-= ( const Expr< D > &  other)
inline

Expression minus-assignment operator.

Template Parameters
DThe derived expression type
Parameters
otherThe expression that will be subtracted from this array

Definition at line 397 of file blk_tsr_expr.h.

Here is the call graph for this function:

◆ operator=() [1/3]

template<typename Array , bool Alias>
reference TiledArray::expressions::BlkTsrExpr< Array, Alias >::operator= ( BlkTsrExpr_ &&  other)
inline

Expression assignment operator.

Parameters
otherThe expression that will be assigned to this array

Definition at line 360 of file blk_tsr_expr.h.

◆ operator=() [2/3]

template<typename Array , bool Alias>
reference TiledArray::expressions::BlkTsrExpr< Array, Alias >::operator= ( const BlkTsrExpr_ other)
inline

Block expression constructor.

Parameters
arrayThe array object
annotationThe array annotation
boundsThe {lower,upper} bounds of the sub-block Expression assignment operator
otherThe expression that will be assigned to this array

Definition at line 352 of file blk_tsr_expr.h.

Here is the caller graph for this function:

◆ operator=() [3/3]

template<typename Array , bool Alias>
template<typename D >
reference TiledArray::expressions::BlkTsrExpr< Array, Alias >::operator= ( const Expr< D > &  other)
inline

Expression assignment operator.

Template Parameters
DThe derived expression type
Parameters
otherThe expression that will be assigned to this array

Definition at line 370 of file blk_tsr_expr.h.

Here is the call graph for this function:

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