DDC 0.4.1
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
 
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 constexpr bool empty () noexcept
 

Friends

template<class... >
class DiscreteDomain
 

Detailed Description

Definition at line 250 of file discrete_domain.hpp.

Member Typedef Documentation

◆ discrete_element_type

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

Definition at line 256 of file discrete_domain.hpp.

◆ discrete_vector_type

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

Definition at line 258 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 269 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 277 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 260 of file discrete_domain.hpp.

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ operator==()

Definition at line 293 of file discrete_domain.hpp.

◆ operator!=()

Definition at line 300 of file discrete_domain.hpp.

◆ size()

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

Definition at line 306 of file discrete_domain.hpp.

◆ extents()

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

Definition at line 311 of file discrete_domain.hpp.

◆ front()

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

Definition at line 316 of file discrete_domain.hpp.

◆ back()

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

Definition at line 321 of file discrete_domain.hpp.

◆ take_first()

Definition at line 326 of file discrete_domain.hpp.

◆ take_last()

Definition at line 332 of file discrete_domain.hpp.

◆ remove_first()

Definition at line 338 of file discrete_domain.hpp.

◆ remove_last()

Definition at line 344 of file discrete_domain.hpp.

◆ remove()

Definition at line 350 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 358 of file discrete_domain.hpp.

◆ empty()

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

Definition at line 364 of file discrete_domain.hpp.

◆ operator bool()

Definition at line 369 of file discrete_domain.hpp.

Friends And Related Symbol Documentation

◆ DiscreteDomain

template<class... >
friend class DiscreteDomain
friend

Definition at line 253 of file discrete_domain.hpp.


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