99 , first_{std::
min(first, extent)}
132 return (first_ == other.first_);
137 return not(*
this == other);
295 class const_iterator;
313 : elements_{elements}
317 stride_{stride - elements}
319 , index_{std::
min(first, extent)}
334 if(indexElem_ >= elements_)
339 if(index_ >= extent_)
355 return (*(*
this) == *other);
360 return not(*
this == other);
427 static_cast<Idx>(args)...);
439 static_cast<Idx>(args)...);
451 static_cast<Idx>(args)...);
ALPAKA_FN_ACC bool operator!=(const_iterator const &other) const
ALPAKA_FN_ACC const_iterator & operator++()
ALPAKA_FN_ACC bool operator==(const_iterator const &other) const
ALPAKA_FN_ACC const_iterator operator++(int)
ALPAKA_FN_ACC Idx operator*() const
ALPAKA_FN_ACC const_iterator begin() const
ALPAKA_FN_ACC IndependentGroupElementsAlong(TAcc const &acc, Idx extent)
ALPAKA_FN_ACC IndependentGroupElementsAlong(TAcc const &acc)
ALPAKA_FN_ACC IndependentGroupElementsAlong(TAcc const &acc, Idx first, Idx extent)
ALPAKA_FN_ACC const_iterator end() const
ALPAKA_FN_ACC const_iterator operator++(int)
ALPAKA_FN_ACC bool operator==(const_iterator const &other) const
ALPAKA_FN_ACC const_iterator & operator++()
ALPAKA_FN_ACC bool operator!=(const_iterator const &other) const
ALPAKA_FN_ACC Idx operator*() const
ALPAKA_FN_ACC IndependentGroupsAlong(TAcc const &acc)
ALPAKA_FN_ACC const_iterator begin() const
ALPAKA_FN_ACC IndependentGroupsAlong(TAcc const &acc, Idx groups)
ALPAKA_FN_ACC const_iterator end() const
#define ALPAKA_FN_ACC
All functions that can be used on an accelerator have to be attributed with ALPAKA_FN_ACC or ALPAKA_F...
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto min(T const &min_ctx, Tx const &x, Ty const &y)
Returns the smaller of two arguments. NaNs are treated as missing data (between a NaN and a numeric v...
The alpaka accelerator library.
typename trait::IdxType< T >::type Idx
ALPAKA_FN_ACC auto independentGroupsAlongZ(TAcc const &acc, TArgs... args)
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getWorkDiv(TWorkDiv const &workDiv) -> Vec< Dim< TWorkDiv >, Idx< TWorkDiv >>
Get the extent requested.
ALPAKA_FN_ACC auto independentGroups(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupElements(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupElementsAlongX(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupsAlongX(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupElementsAlong(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupElementsAlongY(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupsAlongY(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupsAlong(TAcc const &acc, TArgs... args)
ALPAKA_FN_ACC auto independentGroupElementsAlongZ(TAcc const &acc, TArgs... args)
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getIdx(TIdx const &idx, TWorkDiv const &workDiv) -> Vec< Dim< TWorkDiv >, Idx< TIdx >>
Get the indices requested.
typename trait::DimType< T >::type Dim
The dimension type trait alias template to remove the ::type.