IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::NDIndex< Dim > Class Template Reference

Public Types

using iterator = Index *
 
using const_iterator = const Index *
 

Public Member Functions

template<class... Args, typename std::enable_if< sizeof...(Args)==Dim, bool >::type = true>
KOKKOS_FUNCTION NDIndex (const Args &... args)
 
KOKKOS_FUNCTION NDIndex (const Vector< unsigned, Dim > &sizes)
 
KOKKOS_INLINE_FUNCTION const ippl::Indexoperator[] (unsigned d) const noexcept
 
KOKKOS_INLINE_FUNCTION Indexoperator[] (unsigned d) noexcept
 
KOKKOS_INLINE_FUNCTION unsigned size () const noexcept
 
KOKKOS_INLINE_FUNCTION bool empty () const noexcept
 
KOKKOS_INLINE_FUNCTION NDIndex< Dim > intersect (const NDIndex< Dim > &) const
 
KOKKOS_INLINE_FUNCTION NDIndex< Dim > grow (int ncells) const
 
KOKKOS_INLINE_FUNCTION NDIndex< Dim > grow (int ncells, unsigned int dim) const
 
KOKKOS_INLINE_FUNCTION bool touches (const NDIndex< Dim > &) const
 
KOKKOS_INLINE_FUNCTION bool contains (const NDIndex< Dim > &a) const
 
KOKKOS_INLINE_FUNCTION bool split (NDIndex< Dim > &l, NDIndex< Dim > &r, unsigned d, int i) const
 
KOKKOS_INLINE_FUNCTION bool split (NDIndex< Dim > &l, NDIndex< Dim > &r, unsigned d, double a) const
 
KOKKOS_INLINE_FUNCTION bool split (NDIndex< Dim > &l, NDIndex< Dim > &r, unsigned d) const
 
KOKKOS_INLINE_FUNCTION bool split (NDIndex< Dim > &l, NDIndex< Dim > &r) const
 
KOKKOS_INLINE_FUNCTION Vector< size_t, Dim > length () const
 
KOKKOS_INLINE_FUNCTION Vector< int, Dim > first () const
 
KOKKOS_INLINE_FUNCTION Vector< int, Dim > last () const
 
KOKKOS_INLINE_FUNCTION constexpr iterator begin ()
 
KOKKOS_INLINE_FUNCTION constexpr iterator end ()
 
KOKKOS_INLINE_FUNCTION constexpr const_iterator begin () const
 
KOKKOS_INLINE_FUNCTION constexpr const_iterator end () const
 

Member Function Documentation

◆ empty()

template<unsigned Dim>
KOKKOS_INLINE_FUNCTION bool ippl::NDIndex< Dim >::empty ( ) const
noexcept
Returns
true if empty.

◆ grow()

template<unsigned Dim>
KOKKOS_INLINE_FUNCTION NDIndex< Dim > ippl::NDIndex< Dim >::grow ( int  ncells) const

Intersect with another NDIndex.

◆ intersect()

template<unsigned Dim>
KOKKOS_INLINE_FUNCTION NDIndex< Dim > ippl::NDIndex< Dim >::intersect ( const NDIndex< Dim > &  ndi) const

Intersect with another NDIndex.

◆ operator[]()

template<unsigned Dim>
KOKKOS_INLINE_FUNCTION const Index & ippl::NDIndex< Dim >::operator[] ( unsigned  d) const
noexcept
Returns
a reference to any of the Indexes.

◆ size()

template<unsigned Dim>
KOKKOS_INLINE_FUNCTION unsigned ippl::NDIndex< Dim >::size ( ) const
noexcept
Returns
the total size.

The documentation for this class was generated from the following files: