DDC 0.16.0
Loading...
Searching...
No Matches
ddc::SparseDiscreteDomain< DDims > Class Template Reference

#include <sparse_discrete_domain.hpp>

Collaboration diagram for ddc::SparseDiscreteDomain< DDims >:
Collaboration graph

Public Types

using discrete_element_type = DiscreteElement< DDims... >
 
using discrete_vector_type = DiscreteVector< DDims... >
 

Public Member Functions

KOKKOS_DEFAULTED_FUNCTION SparseDiscreteDomain ()=default
 
template<concepts::sparse_discrete_domain... DDoms>
KOKKOS_FUNCTION constexpr SparseDiscreteDomain (DDoms const &... domains)
 Construct a SparseDiscreteDomain by copies and merge of domains.
 
 SparseDiscreteDomain (Kokkos::View< DiscreteElement< DDims > *, Kokkos::SharedSpace > const &... views)
 Construct a SparseDiscreteDomain with Kokkos::View explicitly listing the discrete elements.
 
KOKKOS_DEFAULTED_FUNCTION SparseDiscreteDomain (SparseDiscreteDomain const &x)=default
 
KOKKOS_DEFAULTED_FUNCTION SparseDiscreteDomain (SparseDiscreteDomain &&x)=default
 
KOKKOS_DEFAULTED_FUNCTION ~SparseDiscreteDomain ()=default
 
KOKKOS_DEFAULTED_FUNCTION SparseDiscreteDomain & operator= (SparseDiscreteDomain const &x)=default
 
KOKKOS_DEFAULTED_FUNCTION SparseDiscreteDomain & operator= (SparseDiscreteDomain &&x)=default
 
template<concepts::discrete_dimension... ODDims>
KOKKOS_FUNCTION constexpr bool operator== (SparseDiscreteDomain< ODDims... > const &other) const
 
template<concepts::discrete_dimension... ODDims>
KOKKOS_FUNCTION constexpr bool operator!= (SparseDiscreteDomain< ODDims... > const &other) const
 
KOKKOS_FUNCTION constexpr std::size_t size () const
 
KOKKOS_FUNCTION constexpr discrete_vector_type extents () const noexcept
 
KOKKOS_FUNCTION constexpr auto discrete_elements () const noexcept
 
template<concepts::discrete_dimension QueryDDim>
KOKKOS_FUNCTION constexpr DiscreteVector< QueryDDim > extent () const noexcept
 
KOKKOS_FUNCTION constexpr discrete_element_type front () const noexcept
 
KOKKOS_FUNCTION constexpr discrete_element_type back () const noexcept
 
KOKKOS_FUNCTION constexpr SparseDiscreteDomain take_first (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr SparseDiscreteDomain take_last (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr SparseDiscreteDomain remove_first (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr SparseDiscreteDomain remove_last (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr SparseDiscreteDomain remove (discrete_vector_type n1, discrete_vector_type n2) const
 
KOKKOS_FUNCTION constexpr DiscreteElement< DDims... > operator() (DiscreteVector< DDims... > const &dvect) const noexcept
 
template<class... DElems>
KOKKOS_FUNCTION bool contains (DElems const &... delems) const noexcept
 
template<class... DElems>
KOKKOS_FUNCTION DiscreteVector< DDims... > distance_from_front (DElems const &... delems) const noexcept
 
KOKKOS_FUNCTION constexpr bool empty () const noexcept
 
KOKKOS_FUNCTION constexpr operator bool ()
 
KOKKOS_FUNCTION auto begin () const
 
KOKKOS_FUNCTION auto end () const
 
KOKKOS_FUNCTION auto cbegin () const
 
KOKKOS_FUNCTION auto cend () const
 
KOKKOS_FUNCTION constexpr decltype(auto) operator[] (std::size_t n)
 
KOKKOS_FUNCTION constexpr decltype(auto) operator[] (std::size_t n) const
 

Static Public Member Functions

static KOKKOS_FUNCTION constexpr std::size_t rank ()
 

Friends

template<concepts::discrete_dimension... >
class SparseDiscreteDomain
 

Detailed Description

template<concepts::discrete_dimension... DDims>
class ddc::SparseDiscreteDomain< DDims >

Definition at line 120 of file sparse_discrete_domain.hpp.

Member Typedef Documentation

◆ discrete_element_type

template<concepts::discrete_dimension... DDims>
using ddc::SparseDiscreteDomain< DDims >::discrete_element_type = DiscreteElement<DDims...>

Definition at line 130 of file sparse_discrete_domain.hpp.

◆ discrete_vector_type

template<concepts::discrete_dimension... DDims>
using ddc::SparseDiscreteDomain< DDims >::discrete_vector_type = DiscreteVector<DDims...>

Definition at line 132 of file sparse_discrete_domain.hpp.

Constructor & Destructor Documentation

◆ SparseDiscreteDomain() [1/5]

template<concepts::discrete_dimension... DDims>
KOKKOS_DEFAULTED_FUNCTION ddc::SparseDiscreteDomain< DDims >::SparseDiscreteDomain ( )
default

◆ SparseDiscreteDomain() [2/5]

template<concepts::discrete_dimension... DDims>
template<concepts::sparse_discrete_domain... DDoms>
KOKKOS_FUNCTION constexpr ddc::SparseDiscreteDomain< DDims >::SparseDiscreteDomain ( DDoms const &...  domains)
inlineexplicitconstexpr

Construct a SparseDiscreteDomain by copies and merge of domains.

Definition at line 147 of file sparse_discrete_domain.hpp.

◆ SparseDiscreteDomain() [3/5]

template<concepts::discrete_dimension... DDims>
ddc::SparseDiscreteDomain< DDims >::SparseDiscreteDomain ( Kokkos::View< DiscreteElement< DDims > *, Kokkos::SharedSpace > const &...  views)
inlineexplicit

Construct a SparseDiscreteDomain with Kokkos::View explicitly listing the discrete elements.

Parameters
viewslist of Kokkos::View

Definition at line 155 of file sparse_discrete_domain.hpp.

◆ SparseDiscreteDomain() [4/5]

template<concepts::discrete_dimension... DDims>
KOKKOS_DEFAULTED_FUNCTION ddc::SparseDiscreteDomain< DDims >::SparseDiscreteDomain ( SparseDiscreteDomain< DDims > const &  x)
default

◆ SparseDiscreteDomain() [5/5]

template<concepts::discrete_dimension... DDims>
KOKKOS_DEFAULTED_FUNCTION ddc::SparseDiscreteDomain< DDims >::SparseDiscreteDomain ( SparseDiscreteDomain< DDims > &&  x)
default

◆ ~SparseDiscreteDomain()

template<concepts::discrete_dimension... DDims>
KOKKOS_DEFAULTED_FUNCTION ddc::SparseDiscreteDomain< DDims >::~SparseDiscreteDomain ( )
default

Member Function Documentation

◆ rank()

template<concepts::discrete_dimension... DDims>
static KOKKOS_FUNCTION constexpr std::size_t ddc::SparseDiscreteDomain< DDims >::rank ( )
inlinestaticconstexpr

Definition at line 138 of file sparse_discrete_domain.hpp.

◆ operator=() [1/2]

template<concepts::discrete_dimension... DDims>
KOKKOS_DEFAULTED_FUNCTION SparseDiscreteDomain & ddc::SparseDiscreteDomain< DDims >::operator= ( SparseDiscreteDomain< DDims > const &  x)
default

◆ operator=() [2/2]

template<concepts::discrete_dimension... DDims>
KOKKOS_DEFAULTED_FUNCTION SparseDiscreteDomain & ddc::SparseDiscreteDomain< DDims >::operator= ( SparseDiscreteDomain< DDims > &&  x)
default

◆ operator==()

template<concepts::discrete_dimension... DDims>
template<concepts::discrete_dimension... ODDims>
KOKKOS_FUNCTION constexpr bool ddc::SparseDiscreteDomain< DDims >::operator== ( SparseDiscreteDomain< ODDims... > const &  other) const
inlineconstexpr

Definition at line 177 of file sparse_discrete_domain.hpp.

◆ operator!=()

template<concepts::discrete_dimension... DDims>
template<concepts::discrete_dimension... ODDims>
KOKKOS_FUNCTION constexpr bool ddc::SparseDiscreteDomain< DDims >::operator!= ( SparseDiscreteDomain< ODDims... > const &  other) const
inlineconstexpr

Definition at line 203 of file sparse_discrete_domain.hpp.

◆ size()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr std::size_t ddc::SparseDiscreteDomain< DDims >::size ( ) const
inlineconstexpr

Definition at line 209 of file sparse_discrete_domain.hpp.

◆ extents()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr discrete_vector_type ddc::SparseDiscreteDomain< DDims >::extents ( ) const
inlineconstexprnoexcept

Definition at line 214 of file sparse_discrete_domain.hpp.

◆ discrete_elements()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr auto ddc::SparseDiscreteDomain< DDims >::discrete_elements ( ) const
inlineconstexprnoexcept

Definition at line 219 of file sparse_discrete_domain.hpp.

◆ extent()

template<concepts::discrete_dimension... DDims>
template<concepts::discrete_dimension QueryDDim>
KOKKOS_FUNCTION constexpr DiscreteVector< QueryDDim > ddc::SparseDiscreteDomain< DDims >::extent ( ) const
inlineconstexprnoexcept

Definition at line 225 of file sparse_discrete_domain.hpp.

◆ front()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr discrete_element_type ddc::SparseDiscreteDomain< DDims >::front ( ) const
inlineconstexprnoexcept

Definition at line 230 of file sparse_discrete_domain.hpp.

◆ back()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr discrete_element_type ddc::SparseDiscreteDomain< DDims >::back ( ) const
inlineconstexprnoexcept

Definition at line 235 of file sparse_discrete_domain.hpp.

◆ take_first()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr SparseDiscreteDomain ddc::SparseDiscreteDomain< DDims >::take_first ( discrete_vector_type  n) const
inlineconstexpr

Definition at line 240 of file sparse_discrete_domain.hpp.

◆ take_last()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr SparseDiscreteDomain ddc::SparseDiscreteDomain< DDims >::take_last ( discrete_vector_type  n) const
inlineconstexpr

Definition at line 245 of file sparse_discrete_domain.hpp.

◆ remove_first()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr SparseDiscreteDomain ddc::SparseDiscreteDomain< DDims >::remove_first ( discrete_vector_type  n) const
inlineconstexpr

Definition at line 250 of file sparse_discrete_domain.hpp.

◆ remove_last()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr SparseDiscreteDomain ddc::SparseDiscreteDomain< DDims >::remove_last ( discrete_vector_type  n) const
inlineconstexpr

Definition at line 255 of file sparse_discrete_domain.hpp.

◆ remove()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr SparseDiscreteDomain ddc::SparseDiscreteDomain< DDims >::remove ( discrete_vector_type  n1,
discrete_vector_type  n2 
) const
inlineconstexpr

Definition at line 260 of file sparse_discrete_domain.hpp.

◆ operator()()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr DiscreteElement< DDims... > ddc::SparseDiscreteDomain< DDims >::operator() ( DiscreteVector< DDims... > const &  dvect) const
inlineconstexprnoexcept

Definition at line 267 of file sparse_discrete_domain.hpp.

◆ contains()

template<concepts::discrete_dimension... DDims>
template<class... DElems>
KOKKOS_FUNCTION bool ddc::SparseDiscreteDomain< DDims >::contains ( DElems const &...  delems) const
inlinenoexcept

Definition at line 274 of file sparse_discrete_domain.hpp.

◆ distance_from_front()

template<concepts::discrete_dimension... DDims>
template<class... DElems>
KOKKOS_FUNCTION DiscreteVector< DDims... > ddc::SparseDiscreteDomain< DDims >::distance_from_front ( DElems const &...  delems) const
inlinenoexcept

Definition at line 294 of file sparse_discrete_domain.hpp.

◆ empty()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr bool ddc::SparseDiscreteDomain< DDims >::empty ( ) const
inlineconstexprnoexcept

Definition at line 311 of file sparse_discrete_domain.hpp.

◆ operator bool()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr ddc::SparseDiscreteDomain< DDims >::operator bool ( )
inlineexplicitconstexpr

Definition at line 316 of file sparse_discrete_domain.hpp.

◆ begin()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION auto ddc::SparseDiscreteDomain< DDims >::begin ( ) const
inline

Definition at line 321 of file sparse_discrete_domain.hpp.

◆ end()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION auto ddc::SparseDiscreteDomain< DDims >::end ( ) const
inline

Definition at line 328 of file sparse_discrete_domain.hpp.

◆ cbegin()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION auto ddc::SparseDiscreteDomain< DDims >::cbegin ( ) const
inline

Definition at line 335 of file sparse_discrete_domain.hpp.

◆ cend()

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION auto ddc::SparseDiscreteDomain< DDims >::cend ( ) const
inline

Definition at line 342 of file sparse_discrete_domain.hpp.

◆ operator[]() [1/2]

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr decltype(auto) ddc::SparseDiscreteDomain< DDims >::operator[] ( std::size_t  n)
inlineconstexpr

Definition at line 349 of file sparse_discrete_domain.hpp.

◆ operator[]() [2/2]

template<concepts::discrete_dimension... DDims>
KOKKOS_FUNCTION constexpr decltype(auto) ddc::SparseDiscreteDomain< DDims >::operator[] ( std::size_t  n) const
inlineconstexpr

Definition at line 355 of file sparse_discrete_domain.hpp.

Friends And Related Symbol Documentation

◆ SparseDiscreteDomain

template<concepts::discrete_dimension... DDims>
template<concepts::discrete_dimension... >
friend class SparseDiscreteDomain
friend

Definition at line 123 of file sparse_discrete_domain.hpp.


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