DDC 0.16.0
Loading...
Searching...
No Matches
ddc::DiscreteElement< Tags > Class Template Reference

A DiscreteElement identifies an element of the discrete dimension. More...

#include <discrete_element.hpp>

Collaboration diagram for ddc::DiscreteElement< Tags >:
Collaboration graph

Public Types

using value_type = DiscreteElementType
 

Public Member Functions

KOKKOS_DEFAULTED_FUNCTION constexpr DiscreteElement ()=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr DiscreteElement (DiscreteElement const &)=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr DiscreteElement (DiscreteElement &&)=default
 
template<concepts::discrete_element... DElems>
KOKKOS_FUNCTION constexpr DiscreteElement (DElems const &... delems) noexcept
 
template<std::convertible_to< DiscreteElementType > IntegerType>
KOKKOS_FUNCTION constexpr DiscreteElement (std::array< IntegerType, sizeof...(Tags)> const &values) noexcept
 
template<std::convertible_to< DiscreteElementType >... Params>
requires ((!is_discrete_element_v<Params> && ...) && sizeof...(Params) == sizeof...(Tags))
KOKKOS_FUNCTION constexpr DiscreteElement (Params const &... params) noexcept
 
KOKKOS_DEFAULTED_FUNCTION ~DiscreteElement ()=default
 
KOKKOS_DEFAULTED_FUNCTION DiscreteElement & operator= (DiscreteElement const &other)=default
 
KOKKOS_DEFAULTED_FUNCTION DiscreteElement & operator= (DiscreteElement &&other)=default
 
template<concepts::discrete_dimension QueryTag>
KOKKOS_FUNCTION constexpr value_type & uid () noexcept
 
template<concepts::discrete_dimension QueryTag>
KOKKOS_FUNCTION constexpr value_type const & uid () const noexcept
 
KOKKOS_FUNCTION constexpr value_type & uid () noexcept
 
KOKKOS_FUNCTION constexpr value_type const & uid () const noexcept
 
KOKKOS_FUNCTION constexpr DiscreteElement & operator++ ()
 
KOKKOS_FUNCTION constexpr DiscreteElement operator++ (int)
 
KOKKOS_FUNCTION constexpr DiscreteElement & operator-- ()
 
KOKKOS_FUNCTION constexpr DiscreteElement operator-- (int)
 
template<concepts::discrete_dimension... OTags>
KOKKOS_FUNCTION constexpr DiscreteElement & operator+= (DiscreteVector< OTags... > const &rhs)
 
template<std::integral IntegralType>
requires (sizeof...(Tags) == 1)
KOKKOS_FUNCTION constexpr DiscreteElement & operator+= (IntegralType const &rhs)
 
template<concepts::discrete_dimension... OTags>
KOKKOS_FUNCTION constexpr DiscreteElement & operator-= (DiscreteVector< OTags... > const &rhs)
 
template<std::integral IntegralType>
requires (sizeof...(Tags) == 1)
KOKKOS_FUNCTION constexpr DiscreteElement & operator-= (IntegralType const &rhs)
 

Static Public Member Functions

static KOKKOS_FUNCTION constexpr std::size_t size () noexcept
 

Detailed Description

template<concepts::discrete_dimension... Tags>
class ddc::DiscreteElement< Tags >

A DiscreteElement identifies an element of the discrete dimension.

Each one is tagged by its associated dimensions.

Definition at line 165 of file discrete_element.hpp.

Member Typedef Documentation

◆ value_type

template<concepts::discrete_dimension... Tags>
using ddc::DiscreteElement< Tags >::value_type = DiscreteElementType

Definition at line 183 of file discrete_element.hpp.

Constructor & Destructor Documentation

◆ DiscreteElement() [1/6]

template<concepts::discrete_dimension... Tags>
KOKKOS_DEFAULTED_FUNCTION constexpr ddc::DiscreteElement< Tags >::DiscreteElement ( )
constexprdefault

◆ DiscreteElement() [2/6]

template<concepts::discrete_dimension... Tags>
KOKKOS_DEFAULTED_FUNCTION constexpr ddc::DiscreteElement< Tags >::DiscreteElement ( DiscreteElement< Tags > const &  )
constexprdefault

◆ DiscreteElement() [3/6]

template<concepts::discrete_dimension... Tags>
KOKKOS_DEFAULTED_FUNCTION constexpr ddc::DiscreteElement< Tags >::DiscreteElement ( DiscreteElement< Tags > &&  )
constexprdefault

◆ DiscreteElement() [4/6]

template<concepts::discrete_dimension... Tags>
template<concepts::discrete_element... DElems>
KOKKOS_FUNCTION constexpr ddc::DiscreteElement< Tags >::DiscreteElement ( DElems const &...  delems)
inlineexplicitconstexprnoexcept

Definition at line 198 of file discrete_element.hpp.

◆ DiscreteElement() [5/6]

template<concepts::discrete_dimension... Tags>
template<std::convertible_to< DiscreteElementType > IntegerType>
KOKKOS_FUNCTION constexpr ddc::DiscreteElement< Tags >::DiscreteElement ( std::array< IntegerType, sizeof...(Tags)> const &  values)
inlineexplicitconstexprnoexcept

Definition at line 204 of file discrete_element.hpp.

◆ DiscreteElement() [6/6]

template<concepts::discrete_dimension... Tags>
template<std::convertible_to< DiscreteElementType >... Params>
requires ((!is_discrete_element_v<Params> && ...) && sizeof...(Params) == sizeof...(Tags))
KOKKOS_FUNCTION constexpr ddc::DiscreteElement< Tags >::DiscreteElement ( Params const &...  params)
inlineexplicitconstexprnoexcept

Definition at line 213 of file discrete_element.hpp.

◆ ~DiscreteElement()

template<concepts::discrete_dimension... Tags>
KOKKOS_DEFAULTED_FUNCTION ddc::DiscreteElement< Tags >::~DiscreteElement ( )
default

Member Function Documentation

◆ size()

template<concepts::discrete_dimension... Tags>
static KOKKOS_FUNCTION constexpr std::size_t ddc::DiscreteElement< Tags >::size ( )
inlinestaticconstexprnoexcept

Definition at line 185 of file discrete_element.hpp.

◆ operator=() [1/2]

template<concepts::discrete_dimension... Tags>
KOKKOS_DEFAULTED_FUNCTION DiscreteElement & ddc::DiscreteElement< Tags >::operator= ( DiscreteElement< Tags > const &  other)
default

◆ operator=() [2/2]

template<concepts::discrete_dimension... Tags>
KOKKOS_DEFAULTED_FUNCTION DiscreteElement & ddc::DiscreteElement< Tags >::operator= ( DiscreteElement< Tags > &&  other)
default

◆ uid() [1/4]

template<concepts::discrete_dimension... Tags>
template<concepts::discrete_dimension QueryTag>
KOKKOS_FUNCTION constexpr value_type & ddc::DiscreteElement< Tags >::uid ( )
inlineconstexprnoexcept

Definition at line 226 of file discrete_element.hpp.

◆ uid() [2/4]

template<concepts::discrete_dimension... Tags>
template<concepts::discrete_dimension QueryTag>
KOKKOS_FUNCTION constexpr value_type const & ddc::DiscreteElement< Tags >::uid ( ) const
inlineconstexprnoexcept

Definition at line 233 of file discrete_element.hpp.

◆ uid() [3/4]

template<concepts::discrete_dimension... Tags>
KOKKOS_FUNCTION constexpr value_type & ddc::DiscreteElement< Tags >::uid ( )
inlineconstexprnoexcept

Definition at line 239 of file discrete_element.hpp.

◆ uid() [4/4]

template<concepts::discrete_dimension... Tags>
KOKKOS_FUNCTION constexpr value_type const & ddc::DiscreteElement< Tags >::uid ( ) const
inlineconstexprnoexcept

Definition at line 245 of file discrete_element.hpp.

◆ operator++() [1/2]

template<concepts::discrete_dimension... Tags>
KOKKOS_FUNCTION constexpr DiscreteElement & ddc::DiscreteElement< Tags >::operator++ ( )
inlineconstexpr

Definition at line 251 of file discrete_element.hpp.

◆ operator++() [2/2]

template<concepts::discrete_dimension... Tags>
KOKKOS_FUNCTION constexpr DiscreteElement ddc::DiscreteElement< Tags >::operator++ ( int  )
inlineconstexpr

Definition at line 258 of file discrete_element.hpp.

◆ operator--() [1/2]

template<concepts::discrete_dimension... Tags>
KOKKOS_FUNCTION constexpr DiscreteElement & ddc::DiscreteElement< Tags >::operator-- ( )
inlineconstexpr

Definition at line 266 of file discrete_element.hpp.

◆ operator--() [2/2]

template<concepts::discrete_dimension... Tags>
KOKKOS_FUNCTION constexpr DiscreteElement ddc::DiscreteElement< Tags >::operator-- ( int  )
inlineconstexpr

Definition at line 273 of file discrete_element.hpp.

◆ operator+=() [1/2]

template<concepts::discrete_dimension... Tags>
template<concepts::discrete_dimension... OTags>
KOKKOS_FUNCTION constexpr DiscreteElement & ddc::DiscreteElement< Tags >::operator+= ( DiscreteVector< OTags... > const &  rhs)
inlineconstexpr

Definition at line 282 of file discrete_element.hpp.

◆ operator+=() [2/2]

template<concepts::discrete_dimension... Tags>
template<std::integral IntegralType>
requires (sizeof...(Tags) == 1)
KOKKOS_FUNCTION constexpr DiscreteElement & ddc::DiscreteElement< Tags >::operator+= ( IntegralType const &  rhs)
inlineconstexpr

Definition at line 290 of file discrete_element.hpp.

◆ operator-=() [1/2]

template<concepts::discrete_dimension... Tags>
template<concepts::discrete_dimension... OTags>
KOKKOS_FUNCTION constexpr DiscreteElement & ddc::DiscreteElement< Tags >::operator-= ( DiscreteVector< OTags... > const &  rhs)
inlineconstexpr

Definition at line 298 of file discrete_element.hpp.

◆ operator-=() [2/2]

template<concepts::discrete_dimension... Tags>
template<std::integral IntegralType>
requires (sizeof...(Tags) == 1)
KOKKOS_FUNCTION constexpr DiscreteElement & ddc::DiscreteElement< Tags >::operator-= ( IntegralType const &  rhs)
inlineconstexpr

Definition at line 306 of file discrete_element.hpp.


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