9#include <initializer_list>
20 template <
unsigned Dim>
26 template <
class... Args>
27 KOKKOS_FUNCTION
NDIndex(
const Args&... args);
41 KOKKOS_INLINE_FUNCTION
unsigned size() const noexcept;
46 KOKKOS_INLINE_FUNCTION
bool empty() const noexcept;
58 KOKKOS_INLINE_FUNCTION
NDIndex<
Dim>
grow(
int ncells,
unsigned int dim) const;
97#include "Index/NDIndex.hpp"
constexpr KOKKOS_INLINE_FUNCTION auto first()
const Index * const_iterator
KOKKOS_INLINE_FUNCTION constexpr iterator begin()
KOKKOS_INLINE_FUNCTION bool touches(const NDIndex< Dim > &) const
KOKKOS_INLINE_FUNCTION bool empty() const noexcept
KOKKOS_INLINE_FUNCTION Vector< int, Dim > last() const
KOKKOS_INLINE_FUNCTION unsigned size() const noexcept
KOKKOS_FUNCTION NDIndex()
KOKKOS_INLINE_FUNCTION const ippl::Index & operator[](unsigned d) const noexcept
KOKKOS_INLINE_FUNCTION bool split(NDIndex< Dim > &l, NDIndex< Dim > &r, unsigned d, int i) const
KOKKOS_INLINE_FUNCTION NDIndex< Dim > intersect(const NDIndex< Dim > &) const
Index indices_m[Dim]
Array of indices.
KOKKOS_INLINE_FUNCTION bool contains(const NDIndex< Dim > &a) const
KOKKOS_INLINE_FUNCTION Vector< size_t, Dim > length() const
KOKKOS_INLINE_FUNCTION constexpr iterator end()
KOKKOS_INLINE_FUNCTION NDIndex< Dim > grow(int ncells) const