DDC 0.5.0
Loading...
Searching...
No Matches
ddc::DiscreteDomain<> Class Reference

#include <discrete_domain.hpp>

Collaboration diagram for ddc::DiscreteDomain<>:
Collaboration graph

Public Types

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

Public Member Functions

KOKKOS_DEFAULTED_FUNCTION constexpr DiscreteDomain ()=default
 
template<class... DDoms, class = std::enable_if_t<(is_discrete_domain_v<DDoms> && ...)>>
KOKKOS_FUNCTION constexpr DiscreteDomain (DDoms const &... domains)
 Construct a DiscreteDomain by copies and merge of domains.
 
KOKKOS_FUNCTION constexpr DiscreteDomain (discrete_element_type const &element_begin, discrete_vector_type const &size)
 Construct a DiscreteDomain starting from element_begin with size points.
 
KOKKOS_DEFAULTED_FUNCTION DiscreteDomain (DiscreteDomain const &x)=default
 
KOKKOS_DEFAULTED_FUNCTION DiscreteDomain (DiscreteDomain &&x)=default
 
KOKKOS_DEFAULTED_FUNCTION ~DiscreteDomain ()=default
 
KOKKOS_DEFAULTED_FUNCTION DiscreteDomainoperator= (DiscreteDomain const &x)=default
 
KOKKOS_DEFAULTED_FUNCTION DiscreteDomainoperator= (DiscreteDomain &&x)=default
 
KOKKOS_FUNCTION constexpr bool operator== (DiscreteDomain const &other) const
 
KOKKOS_FUNCTION constexpr bool operator!= (DiscreteDomain const &other) const
 
KOKKOS_FUNCTION constexpr DiscreteDomain take_first (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr DiscreteDomain take_last (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr DiscreteDomain remove_first (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr DiscreteDomain remove_last (discrete_vector_type n) const
 
KOKKOS_FUNCTION constexpr DiscreteDomain remove (discrete_vector_type n1, discrete_vector_type n2) const
 
KOKKOS_FUNCTION constexpr DiscreteElement operator() (DiscreteVector<> const &) const noexcept
 
template<class... ODims>
KOKKOS_FUNCTION constexpr DiscreteDomain restrict_with (DiscreteDomain< ODims... > const &) const
 
KOKKOS_FUNCTION constexpr operator bool ()
 

Static Public Member Functions

static KOKKOS_FUNCTION constexpr std::size_t rank ()
 
static KOKKOS_FUNCTION constexpr std::size_t size ()
 
static KOKKOS_FUNCTION constexpr discrete_vector_type extents () noexcept
 
static KOKKOS_FUNCTION constexpr discrete_element_type front () noexcept
 
static KOKKOS_FUNCTION constexpr discrete_element_type back () noexcept
 
static KOKKOS_FUNCTION bool contains () noexcept
 
static KOKKOS_FUNCTION bool contains (DiscreteElement<>) noexcept
 
static KOKKOS_FUNCTION DiscreteVector distance_from_front () noexcept
 
static KOKKOS_FUNCTION DiscreteVector distance_from_front (DiscreteElement<>) noexcept
 
static KOKKOS_FUNCTION constexpr bool empty () noexcept
 

Friends

template<class... >
class DiscreteDomain
 

Detailed Description

Definition at line 293 of file discrete_domain.hpp.

Member Typedef Documentation

◆ discrete_element_type

using ddc::DiscreteDomain<>::discrete_element_type = DiscreteElement<>

Definition at line 299 of file discrete_domain.hpp.

◆ discrete_vector_type

using ddc::DiscreteDomain<>::discrete_vector_type = DiscreteVector<>

Definition at line 301 of file discrete_domain.hpp.

Constructor & Destructor Documentation

◆ DiscreteDomain() [1/5]

KOKKOS_DEFAULTED_FUNCTION constexpr ddc::DiscreteDomain<>::DiscreteDomain ( )
constexprdefault

◆ DiscreteDomain() [2/5]

template<class... DDoms, class = std::enable_if_t<(is_discrete_domain_v<DDoms> && ...)>>
KOKKOS_FUNCTION constexpr ddc::DiscreteDomain<>::DiscreteDomain ( DDoms const &...  domains)
inlineexplicitconstexpr

Construct a DiscreteDomain by copies and merge of domains.

Definition at line 312 of file discrete_domain.hpp.

◆ DiscreteDomain() [3/5]

KOKKOS_FUNCTION constexpr ddc::DiscreteDomain<>::DiscreteDomain ( discrete_element_type const element_begin,
discrete_vector_type const size 
)
inlineconstexpr

Construct a DiscreteDomain starting from element_begin with size points.

Parameters
element_beginthe lower bound in each direction
sizethe number of points in each direction

Definition at line 320 of file discrete_domain.hpp.

◆ DiscreteDomain() [4/5]

KOKKOS_DEFAULTED_FUNCTION ddc::DiscreteDomain<>::DiscreteDomain ( DiscreteDomain<> const x)
default

◆ DiscreteDomain() [5/5]

KOKKOS_DEFAULTED_FUNCTION ddc::DiscreteDomain<>::DiscreteDomain ( DiscreteDomain<> &&  x)
default

◆ ~DiscreteDomain()

Member Function Documentation

◆ rank()

static KOKKOS_FUNCTION constexpr std::size_t ddc::DiscreteDomain<>::rank ( )
inlinestaticconstexpr

Definition at line 303 of file discrete_domain.hpp.

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ operator==()

Definition at line 336 of file discrete_domain.hpp.

◆ operator!=()

Definition at line 343 of file discrete_domain.hpp.

◆ size()

static KOKKOS_FUNCTION constexpr std::size_t ddc::DiscreteDomain<>::size ( )
inlinestaticconstexpr

Definition at line 349 of file discrete_domain.hpp.

◆ extents()

static KOKKOS_FUNCTION constexpr discrete_vector_type ddc::DiscreteDomain<>::extents ( )
inlinestaticconstexprnoexcept

Definition at line 354 of file discrete_domain.hpp.

◆ front()

static KOKKOS_FUNCTION constexpr discrete_element_type ddc::DiscreteDomain<>::front ( )
inlinestaticconstexprnoexcept

Definition at line 359 of file discrete_domain.hpp.

◆ back()

static KOKKOS_FUNCTION constexpr discrete_element_type ddc::DiscreteDomain<>::back ( )
inlinestaticconstexprnoexcept

Definition at line 364 of file discrete_domain.hpp.

◆ take_first()

Definition at line 369 of file discrete_domain.hpp.

◆ take_last()

Definition at line 375 of file discrete_domain.hpp.

◆ remove_first()

Definition at line 381 of file discrete_domain.hpp.

◆ remove_last()

Definition at line 387 of file discrete_domain.hpp.

◆ remove()

Definition at line 393 of file discrete_domain.hpp.

◆ operator()()

Definition at line 400 of file discrete_domain.hpp.

◆ restrict_with()

template<class... ODims>
KOKKOS_FUNCTION constexpr DiscreteDomain ddc::DiscreteDomain<>::restrict_with ( DiscreteDomain< ODims... > const ) const
inlineconstexpr

Definition at line 407 of file discrete_domain.hpp.

◆ contains() [1/2]

static KOKKOS_FUNCTION bool ddc::DiscreteDomain<>::contains ( )
inlinestaticnoexcept

Definition at line 413 of file discrete_domain.hpp.

◆ contains() [2/2]

static KOKKOS_FUNCTION bool ddc::DiscreteDomain<>::contains ( DiscreteElement<>  )
inlinestaticnoexcept

Definition at line 418 of file discrete_domain.hpp.

◆ distance_from_front() [1/2]

static KOKKOS_FUNCTION DiscreteVector ddc::DiscreteDomain<>::distance_from_front ( )
inlinestaticnoexcept

Definition at line 423 of file discrete_domain.hpp.

◆ distance_from_front() [2/2]

static KOKKOS_FUNCTION DiscreteVector ddc::DiscreteDomain<>::distance_from_front ( DiscreteElement<>  )
inlinestaticnoexcept

Definition at line 428 of file discrete_domain.hpp.

◆ empty()

static KOKKOS_FUNCTION constexpr bool ddc::DiscreteDomain<>::empty ( )
inlinestaticconstexprnoexcept

Definition at line 433 of file discrete_domain.hpp.

◆ operator bool()

Definition at line 438 of file discrete_domain.hpp.

Friends And Related Symbol Documentation

◆ DiscreteDomain

template<class... >
friend class DiscreteDomain
friend

Definition at line 296 of file discrete_domain.hpp.


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