Public Types | |
using | mdomain_type = DiscreteDomain< DDims... > |
using | allocation_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents< std::size_t, sizeof...(DDims)>, LayoutStridedPolicy > |
The dereferenceable part of the co-domain but with a different domain, starting at 0. More... | |
using | const_allocation_mdspan_type = std::experimental::mdspan< const ElementType, std::experimental::dextents< std::size_t, sizeof...(DDims)>, LayoutStridedPolicy > |
using | discrete_element_type = typename mdomain_type::discrete_element_type |
using | extents_type = typename allocation_mdspan_type::extents_type |
using | layout_type = typename allocation_mdspan_type::layout_type |
using | accessor_type = typename allocation_mdspan_type::accessor_type |
using | mapping_type = typename allocation_mdspan_type::mapping_type |
using | element_type = typename allocation_mdspan_type::element_type |
using | value_type = typename allocation_mdspan_type::value_type |
using | size_type = typename allocation_mdspan_type::size_type |
using | data_handle_type = typename allocation_mdspan_type::data_handle_type |
using | reference = typename allocation_mdspan_type::reference |
Public Member Functions | |
KOKKOS_FUNCTION constexpr accessor_type | accessor () const |
KOKKOS_FUNCTION constexpr DiscreteVector< DDims... > | extents () const noexcept |
template<class QueryDDim > | |
KOKKOS_FUNCTION constexpr size_type | extent () const noexcept |
KOKKOS_FUNCTION constexpr size_type | size () const noexcept |
KOKKOS_FUNCTION constexpr mapping_type | mapping () const noexcept |
KOKKOS_FUNCTION constexpr bool | is_unique () const noexcept |
KOKKOS_FUNCTION constexpr bool | is_exhaustive () const noexcept |
KOKKOS_FUNCTION constexpr bool | is_strided () const noexcept |
template<class QueryDDim > | |
KOKKOS_FUNCTION constexpr size_type | stride () const |
KOKKOS_FUNCTION constexpr mdomain_type | domain () const noexcept |
Provide access to the domain on which this chunk is defined. More... | |
template<class... QueryDDims> | |
KOKKOS_FUNCTION constexpr DiscreteDomain< QueryDDims... > | domain () const noexcept |
Provide access to the domain on which this chunk is defined. More... | |
Static Public Member Functions | |
static KOKKOS_FUNCTION constexpr int | rank () noexcept |
static KOKKOS_FUNCTION constexpr int | rank_dynamic () noexcept |
static KOKKOS_FUNCTION constexpr size_type | static_extent (std::size_t r) noexcept |
static KOKKOS_FUNCTION constexpr bool | is_always_unique () noexcept |
static KOKKOS_FUNCTION constexpr bool | is_always_exhaustive () noexcept |
static KOKKOS_FUNCTION constexpr bool | is_always_strided () noexcept |
Protected Types | |
using | internal_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents< std::size_t, sizeof...(DDims)>, std::experimental::layout_stride > |
the raw mdspan underlying this, with the same indexing (0 might no be dereferenceable) More... | |
Protected Member Functions | |
KOKKOS_DEFAULTED_FUNCTION constexpr | ChunkCommon ()=default |
Empty ChunkCommon. More... | |
KOKKOS_FUNCTION constexpr | ChunkCommon (internal_mdspan_type internal_mdspan, mdomain_type const &domain) noexcept |
Constructs a new ChunkCommon from scratch. More... | |
template<class Mapping = mapping_type, std::enable_if_t< std::is_constructible_v< Mapping, extents_type >, int > = 0> | |
KOKKOS_FUNCTION constexpr | ChunkCommon (ElementType *ptr, mdomain_type const &domain) |
Constructs a new ChunkCommon from scratch. More... | |
KOKKOS_DEFAULTED_FUNCTION constexpr | ChunkCommon (ChunkCommon const &other)=default |
Constructs a new ChunkCommon by copy, yields a new view to the same data. More... | |
KOKKOS_DEFAULTED_FUNCTION constexpr | ChunkCommon (ChunkCommon &&other)=default |
Constructs a new ChunkCommon by move. More... | |
KOKKOS_DEFAULTED_FUNCTION | ~ChunkCommon ()=default |
KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommon & | operator= (ChunkCommon const &other)=default |
Copy-assigns a new value to this ChunkCommon, yields a new view to the same data. More... | |
KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommon & | operator= (ChunkCommon &&other)=default |
Move-assigns a new value to this ChunkCommon. More... | |
KOKKOS_FUNCTION constexpr ElementType * | data_handle () const |
Access to the underlying allocation pointer. More... | |
KOKKOS_FUNCTION constexpr internal_mdspan_type | internal_mdspan () const |
Provide a modifiable view of the data. More... | |
KOKKOS_FUNCTION constexpr allocation_mdspan_type | allocation_mdspan () const |
Provide a modifiable view of the data. More... | |
Protected Attributes | |
internal_mdspan_type | m_internal_mdspan |
The raw view of the data. More... | |
mdomain_type | m_domain |
The mesh on which this chunk is defined. More... | |
Friends | |
template<class , class , class > | |
class | ChunkCommon |
template<class , class , class , class > | |
class | ChunkSpan |
template<class , class , class > | |
class | Chunk |
|
protected |
the raw mdspan underlying this, with the same indexing (0 might no be dereferenceable)
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::mdomain_type = DiscreteDomain<DDims...> |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::allocation_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents<std::size_t, sizeof...(DDims)>, LayoutStridedPolicy> |
The dereferenceable part of the co-domain but with a different domain, starting at 0.
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::const_allocation_mdspan_type = std::experimental::mdspan< const ElementType, std::experimental::dextents<std::size_t, sizeof...(DDims)>, LayoutStridedPolicy> |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::discrete_element_type = typename mdomain_type::discrete_element_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::extents_type = typename allocation_mdspan_type::extents_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::layout_type = typename allocation_mdspan_type::layout_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::accessor_type = typename allocation_mdspan_type::accessor_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::mapping_type = typename allocation_mdspan_type::mapping_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::element_type = typename allocation_mdspan_type::element_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::value_type = typename allocation_mdspan_type::value_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::size_type = typename allocation_mdspan_type::size_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::data_handle_type = typename allocation_mdspan_type::data_handle_type |
using ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >::reference = typename allocation_mdspan_type::reference |
|
constexprprotecteddefault |
Empty ChunkCommon.
|
inlineconstexprprotectednoexcept |
Constructs a new ChunkCommon from scratch.
internal_mdspan | |
domain |
|
inlineconstexprprotected |
Constructs a new ChunkCommon from scratch.
ptr | the allocation pointer to the data |
domain | the domain that sustains the view |
|
constexprprotecteddefault |
Constructs a new ChunkCommon by copy, yields a new view to the same data.
other | the ChunkCommon to copy |
|
constexprprotecteddefault |
Constructs a new ChunkCommon by move.
other | the ChunkCommon to move |
|
protecteddefault |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
Provide access to the domain on which this chunk is defined.
|
inlineconstexprnoexcept |
Provide access to the domain on which this chunk is defined.
|
constexprprotecteddefault |
Copy-assigns a new value to this ChunkCommon, yields a new view to the same data.
other | the ChunkCommon to copy |
|
constexprprotecteddefault |
|
inlineconstexprprotected |
Access to the underlying allocation pointer.
|
inlineconstexprprotected |
Provide a modifiable view of the data.
|
inlineconstexprprotected |
Provide a modifiable view of the data.
|
friend |
|
friend |
|
friend |
|
protected |
The raw view of the data.
|
protected |
The mesh on which this chunk is defined.