Go to the documentation of this file.
21 #ifndef __indexContainer_hpp__
22 #define __indexContainer_hpp__
33 template<
typename IndexType>
46 using HostType =
typename HostViewType::device_type;
50 template<
typename ViewType>
95 views_(
"indexContainer", numElems)
138 template<
typename executionSpace>
142 if constexpr (isHostAccessible<executionSpace>())
173 return IndexAccessor<HostViewType>(
views_.h_view);
178 return IndexAccessor<DeviceViewType>(
views_.d_view);
193 bool findMinMax =
false;
194 if(
views_.template need_sync<HostType>())
199 else if(
views_.template need_sync<DeviceType>())
auto indicesDevice() const
void fillSequence(Vector< T, Allocator > &vec, int32 start, int32 end, const T &startVal)
indexContainer(IndexType *data, int32 numElems)
INLINE_FUNCTION_HD IndexType max() const
INLINE_FUNCTION_HD size_t empty() const
INLINE_FUNCTION_H void copy(const ViewType1D< dType, dProperties... > &dst, const ViewType1D< sType, sProperties... > &src)
~indexContainer()=default
INLINE_FUNCTION_HD size_t size() const
typename DualViewType::t_dev DeviceViewType
indexContainer(IndexType begin, IndexType end)
INLINE_FUNCTION_HD IndexType operator()(int32 i) const
typename DeviceViewType::device_type DeviceType
typename HostViewType::device_type HostType
DeviceViewType & deviceView()
indexContainer & operator=(const indexContainer &)=default
INLINE_FUNCTION_HD IndexType min() const
HostViewType & hostView()
INLINE_FUNCTION_HD IndexType operator()(selectSide< executionSpace >, int32 i) const
const HostViewType & hostView() const
IndexAccessor(ViewType v)
size_t setSize(size_t ns)
T max(const Vector< T, Allocator > &v)
typename DualViewType::t_host HostViewType
#define INLINE_FUNCTION_HD
T min(const Vector< T, Allocator > &v)
Kokkos::DualView< int32 * > DualViewType
const DeviceViewType & deviceView() const