RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Public Member Functions | Public Attributes | List of all members
RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies > Struct Template Reference

#include <LoopData.hpp>

Public Types

using Self = LoopData< SegmentTuple, ParamTuple, Resource, Bodies... >
 
using offset_tuple_t = difftype_tuple_from_segments< typename SegmentTuple::TList >
 
using index_types_t = index_types_from_segments< typename SegmentTuple::TList >
 
using segment_tuple_t = SegmentTuple
 
using param_tuple_t = ParamTuple
 
using arg_tuple_t = typename RAJA::expt::detail::ParamToArgHelper< ParamTuple >::type
 
using BodiesTuple = camp::tuple< Bodies... >
 
using vector_sizes_t = tuple_of_n< int, camp::tuple_size< SegmentTuple >::value >
 

Public Member Functions

RAJA_INLINE constexpr RAJA_HOST_DEVICE LoopData (SegmentTuple const &s, ParamTuple const &p, Resource r, Bodies const &... b)
 
constexpr LoopData (LoopData const &)=default
 
constexpr LoopData (LoopData &&)=default
 
template<camp::idx_t Idx, typename IndexT >
RAJA_HOST_DEVICE RAJA_INLINE void assign_offset (IndexT const &i)
 
template<typename ParamId , typename IndexT >
RAJA_HOST_DEVICE RAJA_INLINE void assign_param (IndexT const &i)
 
template<typename ParamId >
RAJA_HOST_DEVICE RAJA_INLINE auto get_param () -> camp::at_v< typename param_tuple_t::TList, ParamId::param_idx >
 
RAJA_HOST_DEVICE RAJA_INLINE Resource get_resource ()
 

Public Attributes

SegmentTuple segment_tuple
 
ParamTuple param_tuple
 
Resource res
 
const BodiesTuple bodies
 
offset_tuple_t offset_tuple
 
vector_sizes_t vector_sizes
 

Member Typedef Documentation

◆ Self

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::Self = LoopData<SegmentTuple, ParamTuple, Resource, Bodies...>

◆ offset_tuple_t

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::offset_tuple_t = difftype_tuple_from_segments<typename SegmentTuple::TList>

◆ index_types_t

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::index_types_t = index_types_from_segments<typename SegmentTuple::TList>

◆ segment_tuple_t

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::segment_tuple_t = SegmentTuple

◆ param_tuple_t

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::param_tuple_t = ParamTuple

◆ arg_tuple_t

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::arg_tuple_t = typename RAJA::expt::detail::ParamToArgHelper<ParamTuple>::type

◆ BodiesTuple

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::BodiesTuple = camp::tuple<Bodies...>

◆ vector_sizes_t

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
using RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::vector_sizes_t = tuple_of_n<int, camp::tuple_size<SegmentTuple>::value>

Constructor & Destructor Documentation

◆ LoopData() [1/3]

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
RAJA_INLINE constexpr RAJA_HOST_DEVICE RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::LoopData ( SegmentTuple const &  s,
ParamTuple const &  p,
Resource  r,
Bodies const &...  b 
)
inlineconstexpr

◆ LoopData() [2/3]

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
constexpr RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::LoopData ( LoopData< SegmentTuple, ParamTuple, Resource, Bodies > const &  )
constexprdefault

◆ LoopData() [3/3]

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
constexpr RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::LoopData ( LoopData< SegmentTuple, ParamTuple, Resource, Bodies > &&  )
constexprdefault

Member Function Documentation

◆ assign_offset()

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
template<camp::idx_t Idx, typename IndexT >
RAJA_HOST_DEVICE RAJA_INLINE void RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::assign_offset ( IndexT const &  i)
inline

◆ assign_param()

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
template<typename ParamId , typename IndexT >
RAJA_HOST_DEVICE RAJA_INLINE void RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::assign_param ( IndexT const &  i)
inline

◆ get_param()

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
template<typename ParamId >
RAJA_HOST_DEVICE RAJA_INLINE auto RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::get_param ( ) -> camp::at_v<typename param_tuple_t::TList, ParamId::param_idx>
inline

◆ get_resource()

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
RAJA_HOST_DEVICE RAJA_INLINE Resource RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::get_resource ( )
inline

Member Data Documentation

◆ segment_tuple

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
SegmentTuple RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::segment_tuple

◆ param_tuple

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
ParamTuple RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::param_tuple

◆ res

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
Resource RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::res

◆ bodies

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
const BodiesTuple RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::bodies

◆ offset_tuple

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
offset_tuple_t RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::offset_tuple

◆ vector_sizes

template<typename SegmentTuple , typename ParamTuple , typename Resource , typename... Bodies>
vector_sizes_t RAJA::internal::LoopData< SegmentTuple, ParamTuple, Resource, Bodies >::vector_sizes

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