21 #ifndef RAJA_util_LocalArray_HPP
22 #define RAJA_util_LocalArray_HPP
24 #include "RAJA/config.hpp"
27 #include <type_traits>
36 template<camp::idx_t... Sizes>
59 template<
typename Perm,
typename Sizes>
68 template<
typename Perm,
typename Sizes>
74 template<
typename ValueType,
77 typename... IndexTypes>
82 camp::list<IndexTypes...>>;
85 template<
typename ValueType,
typename Perm,
typename Sizes>
92 template<
typename AtomicPolicy,
96 typename... IndexTypes>
100 template<
typename AtomicPolicy,
104 typename... IndexTypes>
107 camp::idx_seq<Perm...>,
111 DataType* m_arrayPtr =
nullptr;
115 static const camp::idx_t NumElem = layout_type::s_size;
127 constexpr camp::idx_t
size()
const {
return layout_type::s_size; }
130 RAJA_INLINE
void set_data(DataType* data_ptr) { m_arrayPtr = data_ptr; }
RAJA header file defining Layout, a N-dimensional index calculator with compile-time defined sizes an...
RAJA header file defining a multi-dimensional view class.
Atomic wrapper object.
Definition: atomic.hpp:302
Definition: TypedViewBase.hpp:725
#define RAJA_HOST_DEVICE
Definition: macros.hpp:65
typename StaticLayoutHelper< Perm, Sizes >::type getStaticLayoutType
Definition: LocalArray.hpp:69
typename SequenceToType< Perm, RAJA::Index_type >::type getDefaultIndexTypes
Definition: TypedViewBase.hpp:60
Definition: AlignedRangeIndexSetBuilders.cpp:35
std::ptrdiff_t Index_type
Definition: types.hpp:226
StaticLayoutT< Perm, camp::idx_t, Sizes... > StaticLayout
Definition: StaticLayout.hpp:309
camp::idx_seq< Sizes... > ParamList
Definition: LocalArray.hpp:37
constexpr RAJA_HOST_DEVICE RAJA_INLINE std::enable_if< std::is_base_of< IndexValueBase, FROM >::value, typename FROM::value_type >::type stripIndexType(FROM const val)
Function that strips the strongly typed Index<> and returns its underlying value_type value.
Definition: IndexValue.hpp:323
camp::idx_seq< Ints... > Perm
Definition: PermutedLayout.hpp:101
DataType value_type
Definition: LocalArray.hpp:112
RAJA_HOST_DEVICE atomic_ref_t operator()(IndexTypes... indices) const
Definition: LocalArray.hpp:118
RAJA_HOST_DEVICE constexpr RAJA_INLINE camp::idx_t size() const
Definition: LocalArray.hpp:127
RAJA::StaticLayout< camp::idx_seq< Perm... >, Sizes... > layout_type
Definition: LocalArray.hpp:114
RAJA_HOST_DEVICE RAJA_INLINE void set_data(DataType *data_ptr)
Definition: LocalArray.hpp:130
Definition: LocalArray.hpp:98
Definition: types.hpp:239
StaticLayout< camp::idx_seq< Perm... >, Sizes... > type
Definition: LocalArray.hpp:65
Definition: LocalArray.hpp:60