TiledArray::detail::ReducePairOpWrapper< opT > Class Template Reference

Documentation

template<typename opT>
class TiledArray::detail::ReducePairOpWrapper< opT >

Wrapper that to convert a pair-wise reduction into a standard reduction.

Template Parameters
opTThe pair-wise reduction operation to be reduced

Definition at line 56 of file reduce_task.h.

Public Types

typedef opT::result_type result_type
 The result type of this reduction operation. More...
 
typedef std::remove_cv< typename std::remove_reference< typename opT::first_argument_type >::type >::type first_argument_type
 The left-hand argument type. More...
 
typedef std::remove_cv< typename std::remove_reference< typename opT::second_argument_type >::type >::type second_argument_type
 The right-hand argument type. More...
 
typedef std::pair< Future< first_argument_type >, Future< second_argument_type > > argument_type
 The combine argument type. More...
 

Public Member Functions

 ReducePairOpWrapper ()
 Default constructor. More...
 
 ReducePairOpWrapper (const opT &op)
 Constructor. More...
 
 ReducePairOpWrapper (const ReducePairOpWrapper< opT > &other)
 Copy constructor. More...
 
 ~ReducePairOpWrapper ()
 Destructor. More...
 
ReducePairOpWrapper< opT > & operator= (const ReducePairOpWrapper< opT > &other)
 Copy assignment operator. More...
 
result_type operator() () const
 Create an default reduction object. More...
 
result_type operator() (result_type &temp) const
 
void operator() (result_type &result, const result_type &arg)
 Reduce two result objects. More...
 
void operator() (result_type &result, const argument_type &arg) const
 Reduce an argument pair. More...
 

Member Typedef Documentation

◆ argument_type

The combine argument type.

Definition at line 67 of file reduce_task.h.

◆ first_argument_type

template<typename opT >
typedef std::remove_cv<typename std::remove_reference< typename opT::first_argument_type>::type>::type TiledArray::detail::ReducePairOpWrapper< opT >::first_argument_type

The left-hand argument type.

Definition at line 61 of file reduce_task.h.

◆ result_type

template<typename opT >
typedef opT::result_type TiledArray::detail::ReducePairOpWrapper< opT >::result_type

The result type of this reduction operation.

Definition at line 58 of file reduce_task.h.

◆ second_argument_type

template<typename opT >
typedef std::remove_cv<typename std::remove_reference< typename opT::second_argument_type>::type>::type TiledArray::detail::ReducePairOpWrapper< opT >::second_argument_type

The right-hand argument type.

Definition at line 64 of file reduce_task.h.

Constructor & Destructor Documentation

◆ ReducePairOpWrapper() [1/3]

template<typename opT >
TiledArray::detail::ReducePairOpWrapper< opT >::ReducePairOpWrapper ( )
inline

Default constructor.

Definition at line 75 of file reduce_task.h.

◆ ReducePairOpWrapper() [2/3]

template<typename opT >
TiledArray::detail::ReducePairOpWrapper< opT >::ReducePairOpWrapper ( const opT &  op)
inline

Constructor.

Parameters
opThe base operation

Definition at line 80 of file reduce_task.h.

◆ ReducePairOpWrapper() [3/3]

template<typename opT >
TiledArray::detail::ReducePairOpWrapper< opT >::ReducePairOpWrapper ( const ReducePairOpWrapper< opT > &  other)
inline

Copy constructor.

Parameters
otherThe other operation to be copied

Definition at line 85 of file reduce_task.h.

◆ ~ReducePairOpWrapper()

template<typename opT >
TiledArray::detail::ReducePairOpWrapper< opT >::~ReducePairOpWrapper ( )
inline

Destructor.

Definition at line 88 of file reduce_task.h.

Member Function Documentation

◆ operator()() [1/4]

template<typename opT >
result_type TiledArray::detail::ReducePairOpWrapper< opT >::operator() ( ) const
inline

Create an default reduction object.

Definition at line 100 of file reduce_task.h.

◆ operator()() [2/4]

template<typename opT >
void TiledArray::detail::ReducePairOpWrapper< opT >::operator() ( result_type result,
const argument_type arg 
) const
inline

Reduce an argument pair.

Parameters
[out]resultThe object that will hold the result of this reduction
[in]argThe argument pair to be reduced

Definition at line 116 of file reduce_task.h.

◆ operator()() [3/4]

template<typename opT >
void TiledArray::detail::ReducePairOpWrapper< opT >::operator() ( result_type result,
const result_type arg 
)
inline

Reduce two result objects.

Parameters
[out]resultThe object that will hold the result of this reduction
[in]argThe result of another reduction operation

Definition at line 108 of file reduce_task.h.

◆ operator()() [4/4]

template<typename opT >
result_type TiledArray::detail::ReducePairOpWrapper< opT >::operator() ( result_type temp) const
inline

Definition at line 102 of file reduce_task.h.

◆ operator=()

template<typename opT >
ReducePairOpWrapper<opT>& TiledArray::detail::ReducePairOpWrapper< opT >::operator= ( const ReducePairOpWrapper< opT > &  other)
inline

Copy assignment operator.

Parameters
otherThe other operation to be copied
Returns
This operation

Definition at line 94 of file reduce_task.h.


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