TiledArray::math::BinaryReduceWrapper< Left, Right, Op > Struct Template Reference
Inheritance diagram for TiledArray::math::BinaryReduceWrapper< Left, Right, Op >:
Collaboration diagram for TiledArray::math::BinaryReduceWrapper< Left, Right, Op >:

Documentation

template<typename Left, typename Right, typename Op>
struct TiledArray::math::BinaryReduceWrapper< Left, Right, Op >

Binary reduction wrapper class that handles lazy tile evaluation.

This allows reduction functors to handle lazy tile types.

Template Parameters
LeftThe left-hand tile argument type
RightThe right-hand tile argument type
OpThe base reduction operation type

Definition at line 121 of file reduce_wrapper.h.

Public Types

typedef BinaryReduceWrapper< Left, Right, Op > BinaryReduceWrapper_
 This class type. More...
 
typedef Op::result_type result_type
 The reduction result type. More...
 
typedef Left first_argument_type
 The reduction left-hand argument type. More...
 
typedef Right second_argument_type
 The reduction right-hand argument type. More...
 

Public Member Functions

 BinaryReduceWrapper ()
 
 BinaryReduceWrapper (const Op &op)
 
 BinaryReduceWrapper (const BinaryReduceWrapper_ &other)
 
BinaryReduceWrapper_operator= (const BinaryReduceWrapper_ &other)
 
void operator() (result_type &result, const first_argument_type &left, const second_argument_type &right) const
 

Member Typedef Documentation

◆ BinaryReduceWrapper_

template<typename Left , typename Right , typename Op >
typedef BinaryReduceWrapper<Left, Right, Op> TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::BinaryReduceWrapper_

This class type.

Definition at line 125 of file reduce_wrapper.h.

◆ first_argument_type

template<typename Left , typename Right , typename Op >
typedef Left TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::first_argument_type

The reduction left-hand argument type.

Definition at line 127 of file reduce_wrapper.h.

◆ result_type

template<typename Left , typename Right , typename Op >
typedef Op::result_type TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::result_type

The reduction result type.

Definition at line 126 of file reduce_wrapper.h.

◆ second_argument_type

template<typename Left , typename Right , typename Op >
typedef Right TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::second_argument_type

The reduction right-hand argument type.

Definition at line 129 of file reduce_wrapper.h.

Constructor & Destructor Documentation

◆ BinaryReduceWrapper() [1/3]

template<typename Left , typename Right , typename Op >
TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::BinaryReduceWrapper ( )
inline

Definition at line 132 of file reduce_wrapper.h.

◆ BinaryReduceWrapper() [2/3]

template<typename Left , typename Right , typename Op >
TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::BinaryReduceWrapper ( const Op &  op)
inline

Definition at line 133 of file reduce_wrapper.h.

◆ BinaryReduceWrapper() [3/3]

template<typename Left , typename Right , typename Op >
TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::BinaryReduceWrapper ( const BinaryReduceWrapper_ other)
inline

Definition at line 134 of file reduce_wrapper.h.

Member Function Documentation

◆ operator()()

template<typename Left , typename Right , typename Op >
void TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::operator() ( result_type result,
const first_argument_type left,
const second_argument_type right 
) const
inline

Definition at line 179 of file reduce_wrapper.h.

◆ operator=()

template<typename Left , typename Right , typename Op >
BinaryReduceWrapper_& TiledArray::math::BinaryReduceWrapper< Left, Right, Op >::operator= ( const BinaryReduceWrapper_ other)
inline

Definition at line 136 of file reduce_wrapper.h.


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