DDC 0.0.0

a discrete domain computation library

ddc::DiscreteDomain<> Class Reference

Public Types

using discrete_element_type = DiscreteElement<>
 
using mlength_type = DiscreteVector<>
 

Public Member Functions

constexpr DiscreteDomain ()=default
 
template<class... ODDims>
constexpr DiscreteDomain (DiscreteDomain< ODDims... > const &domain)
 
constexpr DiscreteDomain (discrete_element_type const &element_begin, mlength_type const &size)
 Construct a DiscreteDomain starting from element_begin with size points. More...
 
constexpr DiscreteDomain (DiscreteDomain const &x)=default
 
constexpr DiscreteDomain (DiscreteDomain &&x)=default
 
 ~DiscreteDomain ()=default
 
DiscreteDomainoperator= (DiscreteDomain const &x)=default
 
DiscreteDomainoperator= (DiscreteDomain &&x)=default
 
constexpr bool operator== (DiscreteDomain const &other) const
 
constexpr bool operator!= (DiscreteDomain const &other) const
 
constexpr std::size_t size () const
 
constexpr mlength_type extents () const noexcept
 
constexpr discrete_element_type front () const noexcept
 
constexpr discrete_element_type back () const noexcept
 
constexpr DiscreteDomain take_first (mlength_type n) const
 
constexpr DiscreteDomain take_last (mlength_type n) const
 
constexpr DiscreteDomain remove_first (mlength_type n) const
 
constexpr DiscreteDomain remove_last (mlength_type n) const
 
constexpr DiscreteDomain remove (mlength_type n1, mlength_type n2) const
 
template<class... ODims>
constexpr DiscreteDomain restrict (DiscreteDomain< ODims... > const &) const
 
constexpr bool empty () const noexcept
 
constexpr operator bool ()
 

Static Public Member Functions

static constexpr std::size_t rank ()
 

Friends

template<class... >
class DiscreteDomain
 

Member Typedef Documentation

◆ discrete_element_type

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

◆ mlength_type

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

Constructor & Destructor Documentation

◆ DiscreteDomain() [1/5]

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

◆ DiscreteDomain() [2/5]

template<class... ODDims>
constexpr ddc::DiscreteDomain<>::DiscreteDomain ( DiscreteDomain< ODDims... > const &  domain)
inlineexplicitconstexpr

◆ DiscreteDomain() [3/5]

constexpr ddc::DiscreteDomain<>::DiscreteDomain ( discrete_element_type const &  element_begin,
mlength_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

◆ DiscreteDomain() [4/5]

constexpr ddc::DiscreteDomain<>::DiscreteDomain ( DiscreteDomain<> const &  x)
constexprdefault

◆ DiscreteDomain() [5/5]

constexpr ddc::DiscreteDomain<>::DiscreteDomain ( DiscreteDomain<> &&  x)
constexprdefault

◆ ~DiscreteDomain()

Member Function Documentation

◆ rank()

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

◆ operator=() [1/2]

DiscreteDomain & ddc::DiscreteDomain<>::operator= ( DiscreteDomain<> const &  x)
default

◆ operator=() [2/2]

DiscreteDomain & ddc::DiscreteDomain<>::operator= ( DiscreteDomain<> &&  x)
default

◆ operator==()

constexpr bool ddc::DiscreteDomain<>::operator== ( DiscreteDomain<> const &  other) const
inlineconstexpr

◆ operator!=()

constexpr bool ddc::DiscreteDomain<>::operator!= ( DiscreteDomain<> const &  other) const
inlineconstexpr

◆ size()

constexpr std::size_t ddc::DiscreteDomain<>::size ( ) const
inlineconstexpr

◆ extents()

constexpr mlength_type ddc::DiscreteDomain<>::extents ( ) const
inlineconstexprnoexcept

◆ front()

constexpr discrete_element_type ddc::DiscreteDomain<>::front ( ) const
inlineconstexprnoexcept

◆ back()

constexpr discrete_element_type ddc::DiscreteDomain<>::back ( ) const
inlineconstexprnoexcept

◆ take_first()

constexpr DiscreteDomain ddc::DiscreteDomain<>::take_first ( mlength_type  n) const
inlineconstexpr

◆ take_last()

constexpr DiscreteDomain ddc::DiscreteDomain<>::take_last ( mlength_type  n) const
inlineconstexpr

◆ remove_first()

constexpr DiscreteDomain ddc::DiscreteDomain<>::remove_first ( mlength_type  n) const
inlineconstexpr

◆ remove_last()

constexpr DiscreteDomain ddc::DiscreteDomain<>::remove_last ( mlength_type  n) const
inlineconstexpr

◆ remove()

constexpr DiscreteDomain ddc::DiscreteDomain<>::remove ( mlength_type  n1,
mlength_type  n2 
) const
inlineconstexpr

◆ restrict()

template<class... ODims>
constexpr DiscreteDomain ddc::DiscreteDomain<>::restrict ( DiscreteDomain< ODims... > const &  ) const
inlineconstexpr

◆ empty()

constexpr bool ddc::DiscreteDomain<>::empty ( ) const
inlineconstexprnoexcept

◆ operator bool()

constexpr ddc::DiscreteDomain<>::operator bool ( )
inlineexplicitconstexpr

Friends And Related Function Documentation

◆ DiscreteDomain

template<class... >
friend class DiscreteDomain
friend

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