RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Member Functions | Protected Attributes | List of all members
RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived > Class Template Reference

#include <reduce.hpp>

Public Member Functions

RAJA_SUPPRESS_HD_WARN constexpr RAJA_HOST_DEVICE BaseCombinable ()
 
RAJA_SUPPRESS_HD_WARN constexpr RAJA_HOST_DEVICE BaseCombinable (T init_val, T identity_=T())
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void reset (T init_val, T identity_)
 
RAJA_SUPPRESS_HD_WARN constexpr RAJA_HOST_DEVICE BaseCombinable (BaseCombinable const &other)
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE ~BaseCombinable ()
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void combine (T const &other)
 
get () const
 
T & local () const
 
get_combined () const
 

Protected Attributes

BaseCombinable const * parent = nullptr
 
identity
 
my_data
 

Constructor & Destructor Documentation

◆ BaseCombinable() [1/3]

template<typename T , typename Reduce , typename Derived >
RAJA_SUPPRESS_HD_WARN constexpr RAJA_HOST_DEVICE RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::BaseCombinable ( )
inlineconstexpr

◆ BaseCombinable() [2/3]

template<typename T , typename Reduce , typename Derived >
RAJA_SUPPRESS_HD_WARN constexpr RAJA_HOST_DEVICE RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::BaseCombinable ( init_val,
identity_ = T() 
)
inlineconstexpr

◆ BaseCombinable() [3/3]

template<typename T , typename Reduce , typename Derived >
RAJA_SUPPRESS_HD_WARN constexpr RAJA_HOST_DEVICE RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::BaseCombinable ( BaseCombinable< T, Reduce, Derived > const &  other)
inlineconstexpr

◆ ~BaseCombinable()

template<typename T , typename Reduce , typename Derived >
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::~BaseCombinable ( )
inline

Member Function Documentation

◆ reset()

template<typename T , typename Reduce , typename Derived >
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::reset ( init_val,
identity_ 
)
inline

◆ combine()

template<typename T , typename Reduce , typename Derived >
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::combine ( T const &  other)
inline

◆ get()

template<typename T , typename Reduce , typename Derived >
T RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::get ( ) const
inline
Returns
the calculated reduced value

◆ local()

template<typename T , typename Reduce , typename Derived >
T& RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::local ( ) const
inline
Returns
reference to the local value

◆ get_combined()

template<typename T , typename Reduce , typename Derived >
T RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::get_combined ( ) const
inline

Member Data Documentation

◆ parent

template<typename T , typename Reduce , typename Derived >
BaseCombinable const* RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::parent = nullptr
protected

◆ identity

template<typename T , typename Reduce , typename Derived >
T RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::identity
protected

◆ my_data

template<typename T , typename Reduce , typename Derived >
T RAJA::reduce::detail::BaseCombinable< T, Reduce, Derived >::my_data
mutableprotected

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