RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Public Member Functions | List of all members
RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ > Class Template Reference

#include <reduce.hpp>

Public Types

using value_type = T
 
using reduce_type = Reduce
 

Public Member Functions

RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseReduce ()
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseReduce (T init_val, T identity_=Reduce::identity())
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void reset (T val, T identity_=Reduce::identity())
 
BaseReduceoperator= (const BaseReduce &)=delete
 prohibit compiler-generated copy assignment More...
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseReduce (const BaseReduce &copy)
 compiler-generated copy constructor More...
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE BaseReduce (BaseReduce &&copy)
 compiler-generated move constructor More...
 
BaseReduceoperator= (BaseReduce &&)=default
 compiler-generated move assignment More...
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void combine (T const &other) const
 
T & local () const
 
 operator T () const
 Get the calculated reduced value. More...
 
get () const
 Get the calculated reduced value. More...
 

Member Typedef Documentation

◆ value_type

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
using RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::value_type = T

◆ reduce_type

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
using RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::reduce_type = Reduce

Constructor & Destructor Documentation

◆ BaseReduce() [1/4]

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::BaseReduce ( )
inline

◆ BaseReduce() [2/4]

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::BaseReduce ( init_val,
identity_ = Reduce::identity() 
)
inline

◆ BaseReduce() [3/4]

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::BaseReduce ( const BaseReduce< T, Reduce_, Combiner_ > &  copy)
inline

compiler-generated copy constructor

◆ BaseReduce() [4/4]

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::BaseReduce ( BaseReduce< T, Reduce_, Combiner_ > &&  copy)
inline

compiler-generated move constructor

Member Function Documentation

◆ reset()

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::reset ( val,
identity_ = Reduce::identity() 
)
inline

◆ operator=() [1/2]

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
BaseReduce& RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::operator= ( const BaseReduce< T, Reduce_, Combiner_ > &  )
delete

prohibit compiler-generated copy assignment

◆ operator=() [2/2]

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
BaseReduce& RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::operator= ( BaseReduce< T, Reduce_, Combiner_ > &&  )
default

compiler-generated move assignment

◆ combine()

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::combine ( T const &  other) const
inline

◆ local()

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
T& RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::local ( ) const
inline

◆ operator T()

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::operator T ( ) const
inline

Get the calculated reduced value.

◆ get()

template<typename T , template< typename > class Reduce_, template< typename, typename > class Combiner_>
T RAJA::reduce::detail::BaseReduce< T, Reduce_, Combiner_ >::get ( ) const
inline

Get the calculated reduced value.


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