#include <chunk.hpp>


Public Types | |
| using | span_type = ChunkSpan< ElementType, SupportType, Kokkos::layout_right, typename Allocator::memory_space > |
| type of a span of this full chunk | |
| using | view_type = ChunkSpan< ElementType const, SupportType, Kokkos::layout_right, typename Allocator::memory_space > |
| type of a view of this full chunk | |
| using | allocation_mdspan_type = typename base_type::allocation_mdspan_type |
| The dereferenceable part of the co-domain but with indexing starting at 0. | |
| using | const_allocation_mdspan_type = typename base_type::const_allocation_mdspan_type |
| using | discrete_domain_type = typename base_type::discrete_domain_type |
| using | memory_space = typename Allocator::memory_space |
| using | discrete_element_type = typename base_type::discrete_element_type |
| using | discrete_vector_type = typename base_type::discrete_vector_type |
| using | extents_type = typename base_type::extents_type |
| using | layout_type = typename base_type::layout_type |
| using | mapping_type = typename base_type::mapping_type |
| using | element_type = typename base_type::element_type |
| using | value_type = typename base_type::value_type |
| using | size_type = typename base_type::size_type |
| using | data_handle_type = typename base_type::data_handle_type |
| using | reference = typename base_type::reference |
Public Types inherited from ddc::ChunkCommon< ElementType, SupportType, Kokkos::layout_right > | |
| using | discrete_domain_type = SupportType |
| using | allocation_mdspan_type = Kokkos::mdspan< ElementType, Kokkos::dextents< std::size_t, SupportType::rank()>, Kokkos::layout_right > |
| The dereferenceable part of the co-domain but with a different domain, starting at 0. | |
| using | const_allocation_mdspan_type = Kokkos::mdspan< ElementType const, Kokkos::dextents< std::size_t, SupportType::rank()>, Kokkos::layout_right > |
| using | discrete_element_type = typename discrete_domain_type::discrete_element_type |
| using | discrete_vector_type = typename discrete_domain_type::discrete_vector_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 | |
| Chunk ()=default | |
| Empty Chunk. | |
| Chunk (std::string const &label, SupportType const &domain, Allocator allocator=Allocator()) | |
| Construct a labeled Chunk on a domain with uninitialized values. | |
| Chunk (SupportType const &domain, Allocator allocator=Allocator()) | |
| Construct a Chunk on a domain with uninitialized values. | |
| Chunk (Chunk const &other)=delete | |
| Deleted: use deepcopy instead. | |
| Chunk (Chunk &&other) noexcept | |
| Constructs a new Chunk by move. | |
| ~Chunk () noexcept | |
| Chunk & | operator= (Chunk const &other)=delete |
| Deleted: use deepcopy instead. | |
| Chunk & | operator= (Chunk &&other) noexcept |
| Move-assigns a new value to this field. | |
| template<class... QueryDDims> | |
| auto | operator[] (DiscreteElement< QueryDDims... > const &slice_spec) const |
| Slice out some dimensions. | |
| template<class... QueryDDims> | |
| auto | operator[] (DiscreteElement< QueryDDims... > const &slice_spec) |
| Slice out some dimensions. | |
| template<class... QueryDDims> requires (is_discrete_domain_v<SupportType>) | |
| auto | operator[] (DiscreteDomain< QueryDDims... > const &odomain) const |
| Slice out some dimensions. | |
| template<class... QueryDDims> requires (is_discrete_domain_v<SupportType>) | |
| auto | operator[] (DiscreteDomain< QueryDDims... > const &odomain) |
| Slice out some dimensions. | |
| template<concepts::discrete_element... DElems> | |
| element_type const & | operator() (DElems const &... delems) const noexcept |
| Element access using a list of DiscreteElement. | |
| template<concepts::discrete_vector... DVects> requires (sizeof...(DVects) != 0) | |
| element_type const & | operator() (DVects const &... dvects) const noexcept |
| Element access using a list of DiscreteVector. | |
| template<concepts::discrete_element... DElems> | |
| element_type & | operator() (DElems const &... delems) noexcept |
| Element access using a list of DiscreteElement. | |
| template<concepts::discrete_vector... DVects> requires (sizeof...(DVects) != 0) | |
| element_type & | operator() (DVects const &... dvects) noexcept |
| Element access using a list of DiscreteVector. | |
| char const * | label () const |
| Returns the label of the Chunk. | |
| ElementType const * | data_handle () const |
| Access to the underlying allocation pointer. | |
| ElementType * | data_handle () |
| Access to the underlying allocation pointer. | |
| const_allocation_mdspan_type | allocation_mdspan () const |
| Provide a mdspan on the memory allocation. | |
| allocation_mdspan_type | allocation_mdspan () |
| Provide a mdspan on the memory allocation. | |
| auto | allocation_kokkos_view () |
Provide an unmanaged Kokkos::View on the memory allocation. | |
| auto | allocation_kokkos_view () const |
Provide an unmanaged Kokkos::View on the memory allocation. | |
| view_type | span_cview () const |
| view_type | span_view () const |
| span_type | span_view () |
Public Member Functions inherited from ddc::ChunkCommon< ElementType, SupportType, Kokkos::layout_right > | |
| KOKKOS_FUNCTION constexpr accessor_type | accessor () const |
| KOKKOS_FUNCTION constexpr SupportType::discrete_vector_type | extents () const noexcept |
| 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 |
| KOKKOS_FUNCTION constexpr size_type | stride () const |
| KOKKOS_FUNCTION constexpr SupportType | domain () const noexcept |
| Provide access to the domain on which this chunk is defined. | |
| KOKKOS_FUNCTION constexpr DiscreteDomain< QueryDDims... > | domain () const noexcept |
| Provide access to the domain on which this chunk is defined. | |
Protected Types | |
| using | base_type = ChunkCommon< ElementType, SupportType, Kokkos::layout_right > |
Friends | |
| template<class , class , class > | |
| class | Chunk |
Additional Inherited Members | |
Static Public Member Functions inherited from ddc::ChunkCommon< ElementType, SupportType, Kokkos::layout_right > | |
| 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 Member Functions inherited from ddc::ChunkCommon< ElementType, SupportType, Kokkos::layout_right > | |
| KOKKOS_DEFAULTED_FUNCTION constexpr | ChunkCommon ()=default |
| Empty ChunkCommon. | |
| KOKKOS_FUNCTION constexpr | ChunkCommon (allocation_mdspan_type allocation_mdspan, SupportType const &domain) noexcept |
| Constructs a new ChunkCommon from scratch. | |
| KOKKOS_FUNCTION constexpr | ChunkCommon (ElementType *ptr, SupportType const &domain) |
| Constructs a new ChunkCommon from scratch. | |
| KOKKOS_DEFAULTED_FUNCTION constexpr | ChunkCommon (ChunkCommon const &other)=default |
| Constructs a new ChunkCommon by copy, yields a new view to the same data. | |
| KOKKOS_DEFAULTED_FUNCTION constexpr | ChunkCommon (ChunkCommon &&other) noexcept=default |
| Constructs a new ChunkCommon by move. | |
| KOKKOS_DEFAULTED_FUNCTION | ~ChunkCommon () noexcept=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. | |
| KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommon & | operator= (ChunkCommon &&other) noexcept=default |
| Move-assigns a new value to this ChunkCommon. | |
| KOKKOS_FUNCTION constexpr ElementType * | data_handle () const |
| Access to the underlying allocation pointer. | |
| KOKKOS_FUNCTION constexpr allocation_mdspan_type | allocation_mdspan () const |
| Provide a modifiable view of the data. | |
Protected Attributes inherited from ddc::ChunkCommon< ElementType, SupportType, Kokkos::layout_right > | |
| allocation_mdspan_type | m_allocation_mdspan |
| The raw view of the data. | |
| SupportType | m_domain |
| The mesh on which this chunk is defined. | |
|
protected |
| using ddc::Chunk< ElementType, SupportType, Allocator >::span_type = ChunkSpan< ElementType, SupportType, Kokkos::layout_right, typename Allocator::memory_space> |
| using ddc::Chunk< ElementType, SupportType, Allocator >::view_type = ChunkSpan< ElementType const, SupportType, Kokkos::layout_right, typename Allocator::memory_space> |
| using ddc::Chunk< ElementType, SupportType, Allocator >::allocation_mdspan_type = typename base_type::allocation_mdspan_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::const_allocation_mdspan_type = typename base_type::const_allocation_mdspan_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::discrete_domain_type = typename base_type::discrete_domain_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::memory_space = typename Allocator::memory_space |
| using ddc::Chunk< ElementType, SupportType, Allocator >::discrete_element_type = typename base_type::discrete_element_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::discrete_vector_type = typename base_type::discrete_vector_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::extents_type = typename base_type::extents_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::layout_type = typename base_type::layout_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::mapping_type = typename base_type::mapping_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::element_type = typename base_type::element_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::value_type = typename base_type::value_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::size_type = typename base_type::size_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::data_handle_type = typename base_type::data_handle_type |
| using ddc::Chunk< ElementType, SupportType, Allocator >::reference = typename base_type::reference |
|
default |
Empty Chunk.
|
inlineexplicit |
|
inlineexplicit |
|
delete |
Deleted: use deepcopy instead.
|
inlinenoexcept |
|
inlinenoexcept |
|
delete |
Deleted: use deepcopy instead.
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
Element access using a list of DiscreteElement.
| delems | discrete coordinates |
|
inlinenoexcept |
Element access using a list of DiscreteVector.
| dvects | discrete vectors |
|
inlinenoexcept |
Element access using a list of DiscreteElement.
| delems | discrete coordinates |
|
inlinenoexcept |
Element access using a list of DiscreteVector.
| dvects | discrete vectors |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |