Public Types | |
using | span_type = ChunkSpan< ElementType, DiscreteDomain< DDims... >, std::experimental::layout_right, typename Allocator::memory_space > |
type of a span of this full chunk More... | |
using | view_type = ChunkSpan< ElementType const, DiscreteDomain< DDims... >, std::experimental::layout_right, typename Allocator::memory_space > |
type of a view of this full chunk More... | |
using | allocation_mdspan_type = typename base_type::allocation_mdspan_type |
The dereferenceable part of the co-domain but with indexing starting at 0. More... | |
using | const_allocation_mdspan_type = typename base_type::const_allocation_mdspan_type |
using | mdomain_type = typename base_type::mdomain_type |
using | memory_space = typename Allocator::memory_space |
using | discrete_element_type = typename base_type::discrete_element_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 Member Functions | |
Chunk ()=default | |
Empty Chunk. More... | |
Chunk (mdomain_type const &domain, Allocator allocator=Allocator()) | |
Construct a Chunk on a domain with uninitialized values. More... | |
template<class OElementType , class... ODDims, class LayoutType > | |
Chunk (ChunkSpan< OElementType, DiscreteDomain< ODDims... >, LayoutType > chunk_span, Allocator allocator=Allocator()) | |
Construct a Chunk from a deepcopy of a ChunkSpan. More... | |
Chunk (Chunk const &other)=delete | |
Deleted: use deepcopy instead. More... | |
Chunk (Chunk &&other) | |
Constructs a new Chunk by move. More... | |
~Chunk () | |
Chunk & | operator= (Chunk const &other)=delete |
Deleted: use deepcopy instead. More... | |
Chunk & | operator= (Chunk &&other) |
Move-assigns a new value to this field. More... | |
template<class... QueryDDims> | |
auto | operator[] (DiscreteElement< QueryDDims... > const &slice_spec) const |
Slice out some dimensions. More... | |
template<class... QueryDDims> | |
auto | operator[] (DiscreteElement< QueryDDims... > const &slice_spec) |
Slice out some dimensions. More... | |
template<class... QueryDDims> | |
auto | operator[] (DiscreteDomain< QueryDDims... > const &odomain) const |
Slice out some dimensions. More... | |
template<class... QueryDDims> | |
auto | operator[] (DiscreteDomain< QueryDDims... > const &odomain) |
Slice out some dimensions. More... | |
template<class... ODDims> | |
element_type const & | operator() (DiscreteElement< ODDims > const &... delems) const noexcept |
Element access using a list of DiscreteElement. More... | |
template<class... ODDims> | |
element_type & | operator() (DiscreteElement< ODDims > const &... delems) noexcept |
Element access using a list of DiscreteElement. More... | |
template<class... ODDims, class = std::enable_if_t<sizeof...(ODDims) != 1>> | |
element_type const & | operator() (DiscreteElement< ODDims... > const &delems) const noexcept |
Element access using a multi-dimensional DiscreteElement. More... | |
template<class... ODDims, class = std::enable_if_t<sizeof...(ODDims) != 1>> | |
element_type & | operator() (DiscreteElement< ODDims... > const &delems) noexcept |
Element access using a multi-dimensional DiscreteElement. More... | |
ElementType const * | data_handle () const |
Access to the underlying allocation pointer. More... | |
ElementType * | data_handle () |
Access to the underlying allocation pointer. More... | |
const_allocation_mdspan_type | allocation_mdspan () const |
Provide a mdspan on the memory allocation. More... | |
allocation_mdspan_type | allocation_mdspan () |
Provide a mdspan on the memory allocation. More... | |
constexpr auto | allocation_kokkos_view () |
Provide a mdspan on the memory allocation. More... | |
constexpr auto | allocation_kokkos_view () const |
Provide a mdspan on the memory allocation. More... | |
view_type | span_cview () const |
view_type | span_view () const |
span_type | span_view () |
Protected Types | |
using | base_type = ChunkCommon< ElementType, DiscreteDomain< DDims... >, std::experimental::layout_right > |
using | internal_mdspan_type = typename base_type::internal_mdspan_type |
ND memory view. More... | |
Friends | |
template<class , class , class > | |
class | Chunk |
|
protected |
|
protected |
ND memory view.
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::span_type = ChunkSpan< ElementType, DiscreteDomain<DDims...>, std::experimental::layout_right, typename Allocator::memory_space> |
type of a span of this full chunk
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::view_type = ChunkSpan< ElementType const, DiscreteDomain<DDims...>, std::experimental::layout_right, typename Allocator::memory_space> |
type of a view of this full chunk
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::allocation_mdspan_type = typename base_type::allocation_mdspan_type |
The dereferenceable part of the co-domain but with indexing starting at 0.
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::const_allocation_mdspan_type = typename base_type::const_allocation_mdspan_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::mdomain_type = typename base_type::mdomain_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::memory_space = typename Allocator::memory_space |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::discrete_element_type = typename base_type::discrete_element_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::extents_type = typename base_type::extents_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::layout_type = typename base_type::layout_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::mapping_type = typename base_type::mapping_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::element_type = typename base_type::element_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::value_type = typename base_type::value_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::size_type = typename base_type::size_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::data_handle_type = typename base_type::data_handle_type |
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::reference = typename base_type::reference |
|
default |
Empty Chunk.
|
inlineexplicit |
Construct a Chunk on a domain with uninitialized values.
|
inlineexplicit |
|
delete |
Deleted: use deepcopy instead.
|
inline |
|
inline |
|
delete |
Deleted: use deepcopy instead.
|
inline |
|
inline |
Slice out some dimensions.
|
inline |
Slice out some dimensions.
|
inline |
Slice out some dimensions.
|
inline |
Slice out some dimensions.
|
inlinenoexcept |
Element access using a list of DiscreteElement.
delems | 1D discrete coordinates |
|
inlinenoexcept |
Element access using a list of DiscreteElement.
delems | 1D discrete coordinates |
|
inlinenoexcept |
Element access using a multi-dimensional DiscreteElement.
delems | discrete coordinates |
|
inlinenoexcept |
Element access using a multi-dimensional DiscreteElement.
delems | discrete coordinates |
|
inline |
Access to the underlying allocation pointer.
|
inline |
Access to the underlying allocation pointer.
|
inline |
Provide a mdspan on the memory allocation.
|
inline |
Provide a mdspan on the memory allocation.
|
inlineconstexpr |
Provide a mdspan on the memory allocation.
|
inlineconstexpr |
Provide a mdspan on the memory allocation.
|
inline |
|
inline |
|
inline |
|
friend |