DDC 0.0.0

a discrete domain computation library

ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace > Class Template Reference
Inheritance diagram for ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >:
Inheritance graph

Public Types

using span_type = ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >
 type of a span of this full chunk More...
 
using view_type = ChunkSpan< ElementType const, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >
 type of a view of this full chunk More...
 
using mdomain_type = DiscreteDomain< DDims... >
 
using memory_space = MemorySpace
 
using allocation_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents< sizeof...(DDims)>, LayoutStridedPolicy >
 The dereferenceable part of the co-domain but with a different domain, starting at 0. More...
 
using discrete_element_type = typename mdomain_type::discrete_element_type
 
using extents_type = typename base_type::extents_type
 
using layout_type = typename base_type::layout_type
 
using accessor_type = typename base_type::accessor_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 difference_type = typename base_type::difference_type
 
using pointer = typename base_type::pointer
 
using reference = typename base_type::reference
 
- Public Types inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >
using mdomain_type = DiscreteDomain< DDims... >
 
using allocation_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents< 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< 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 difference_type = typename allocation_mdspan_type::difference_type
 
using pointer = typename allocation_mdspan_type::pointer
 
using reference = typename allocation_mdspan_type::reference
 

Public Member Functions

constexpr ChunkSpan ()=default
 Empty ChunkSpan. More...
 
constexpr ChunkSpan (ChunkSpan const &other)=default
 Constructs a new ChunkSpan by copy, yields a new view to the same data. More...
 
constexpr ChunkSpan (ChunkSpan &&other)=default
 Constructs a new ChunkSpan by move. More...
 
template<class OElementType , class Allocator >
constexpr ChunkSpan (Chunk< OElementType, mdomain_type, Allocator > &other) noexcept
 Constructs a new ChunkSpan from a Chunk, yields a new view to the same data. More...
 
template<class OElementType , class SFINAEElementType = ElementType, class = std::enable_if_t<std::is_const_v<SFINAEElementType>>, class Allocator >
constexpr ChunkSpan (Chunk< OElementType, mdomain_type, Allocator > const &other) noexcept
 Constructs a new ChunkSpan from a Chunk, yields a new view to the same data. More...
 
template<class OElementType >
constexpr ChunkSpan (ChunkSpan< OElementType, mdomain_type, layout_type, MemorySpace > const &other) noexcept
 Constructs a new ChunkSpan by copy of a chunk, yields a new view to the same data. More...
 
template<class Mapping = mapping_type, std::enable_if_t< std::is_constructible_v< Mapping, extents_type >, int > = 0>
constexpr ChunkSpan (ElementType *const ptr, mdomain_type const &domain)
 Constructs a new ChunkSpan from scratch. More...
 
constexpr ChunkSpan (allocation_mdspan_type allocation_mdspan, mdomain_type const &domain)
 Constructs a new ChunkSpan from scratch. More...
 
template<class KokkosView , class = std::enable_if_t<Kokkos::is_view<KokkosView>::value>>
constexpr ChunkSpan (KokkosView const &view, mdomain_type const &domain) noexcept
 Constructs a new ChunkSpan from scratch. More...
 
constexpr ChunkSpanoperator= (ChunkSpan const &other)=default
 Copy-assigns a new value to this ChunkSpan, yields a new view to the same data. More...
 
constexpr ChunkSpanoperator= (ChunkSpan &&other)=default
 Move-assigns a new value to this ChunkSpan. More...
 
template<class... QueryDDims>
constexpr auto operator[] (DiscreteElement< QueryDDims... > const &slice_spec) const
 Slice out some dimensions. More...
 
template<class... QueryDDims>
constexpr auto operator[] (DiscreteDomain< QueryDDims... > const &odomain) const
 Slice out some dimensions. More...
 
template<class... ODDims>
constexpr reference operator() (DiscreteElement< ODDims > const &... delems) const noexcept
 Element access using a list of DiscreteElement. More...
 
template<class... ODDims, class = std::enable_if_t<sizeof...(ODDims) != 1>>
constexpr reference operator() (DiscreteElement< ODDims... > const &delems) const noexcept
 Element access using a multi-dimensional DiscreteElement. More...
 
constexpr ElementType * data () const
 Access to the underlying allocation pointer. More...
 
constexpr internal_mdspan_type internal_mdspan () const
 
constexpr allocation_mdspan_type allocation_mdspan () const
 Provide a mdspan on the memory allocation. More...
 
constexpr auto allocation_kokkos_view () const
 Provide a mdspan on the memory allocation. More...
 
constexpr view_type span_cview () const
 
constexpr span_type span_view () const
 
- Public Member Functions inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >
constexpr accessor_type accessor () const
 
constexpr DiscreteVector< DDims... > extents () const noexcept
 
template<class QueryDDim >
constexpr size_type extent () const noexcept
 
constexpr size_type size () const noexcept
 
constexpr mapping_type mapping () const noexcept
 
constexpr bool is_unique () const noexcept
 
constexpr bool is_contiguous () const noexcept
 
constexpr bool is_strided () const noexcept
 
template<class QueryDDim >
constexpr size_type stride () const
 
constexpr mdomain_type domain () const noexcept
 Provide access to the domain on which this chunk is defined. More...
 
template<class... QueryDDims>
constexpr DiscreteDomain< QueryDDims... > domain () const noexcept
 Provide access to the domain on which this chunk is defined. More...
 

Protected Types

using internal_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents< sizeof...(DDims)>, std::experimental::layout_stride >
 the raw mdspan underlying this, with the same indexing (0 might no be dereferenceable) More...
 
using base_type = ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >
 
- Protected Types inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >
using internal_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents< sizeof...(DDims)>, std::experimental::layout_stride >
 the raw mdspan underlying this, with the same indexing (0 might no be dereferenceable) More...
 

Protected Member Functions

template<class QueryDDim , class... ODDims>
auto get_slicer_for (DiscreteElement< ODDims... > const &c) const
 
template<class QueryDDim , class... ODDims>
auto get_slicer_for (DiscreteDomain< ODDims... > const &c) const
 
- Protected Member Functions inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >
constexpr ChunkCommon ()=default
 Empty ChunkCommon. More...
 
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>
constexpr ChunkCommon (ElementType *ptr, mdomain_type const &domain)
 Constructs a new ChunkCommon from scratch. More...
 
constexpr ChunkCommon (ChunkCommon const &other)=default
 Constructs a new ChunkCommon by copy, yields a new view to the same data. More...
 
constexpr ChunkCommon (ChunkCommon &&other)=default
 Constructs a new ChunkCommon by move. More...
 
constexpr ChunkCommonoperator= (ChunkCommon const &other)=default
 Copy-assigns a new value to this ChunkCommon, yields a new view to the same data. More...
 
constexpr ChunkCommonoperator= (ChunkCommon &&other)=default
 Move-assigns a new value to this ChunkCommon. More...
 
constexpr ElementType * data () const
 Access to the underlying allocation pointer. More...
 
constexpr internal_mdspan_type internal_mdspan () const
 Provide a modifiable view of the data. More...
 
constexpr allocation_mdspan_type allocation_mdspan () const
 Provide a modifiable view of the data. More...
 

Friends

template<class , class , class , class >
class ChunkSpan
 

Additional Inherited Members

- Static Public Member Functions inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >
static constexpr int rank () noexcept
 
static constexpr int rank_dynamic () noexcept
 
static constexpr size_type static_extent (std::size_t r) noexcept
 
static constexpr bool is_always_unique () noexcept
 
static constexpr bool is_always_contiguous () noexcept
 
static constexpr bool is_always_strided () noexcept
 
- Protected Attributes inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy >
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...
 

Member Typedef Documentation

◆ internal_mdspan_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::internal_mdspan_type = std::experimental::mdspan< ElementType, std::experimental::dextents<sizeof...(DDims)>, std::experimental::layout_stride>
protected

the raw mdspan underlying this, with the same indexing (0 might no be dereferenceable)

◆ base_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::base_type = ChunkCommon<ElementType, DiscreteDomain<DDims...>, LayoutStridedPolicy>
protected

◆ span_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::span_type = ChunkSpan<ElementType, DiscreteDomain<DDims...>, LayoutStridedPolicy, MemorySpace>

type of a span of this full chunk

◆ view_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::view_type = ChunkSpan< ElementType const, DiscreteDomain<DDims...>, LayoutStridedPolicy, MemorySpace>

type of a view of this full chunk

◆ mdomain_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::mdomain_type = DiscreteDomain<DDims...>

◆ memory_space

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::memory_space = MemorySpace

◆ allocation_mdspan_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::allocation_mdspan_type = std::experimental:: mdspan<ElementType, std::experimental::dextents<sizeof...(DDims)>, LayoutStridedPolicy>

The dereferenceable part of the co-domain but with a different domain, starting at 0.

◆ discrete_element_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::discrete_element_type = typename mdomain_type::discrete_element_type

◆ extents_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::extents_type = typename base_type::extents_type

◆ layout_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::layout_type = typename base_type::layout_type

◆ accessor_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::accessor_type = typename base_type::accessor_type

◆ mapping_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::mapping_type = typename base_type::mapping_type

◆ element_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::element_type = typename base_type::element_type

◆ value_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::value_type = typename base_type::value_type

◆ size_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::size_type = typename base_type::size_type

◆ difference_type

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::difference_type = typename base_type::difference_type

◆ pointer

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::pointer = typename base_type::pointer

◆ reference

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
using ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::reference = typename base_type::reference

Constructor & Destructor Documentation

◆ ChunkSpan() [1/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( )
constexprdefault

Empty ChunkSpan.

◆ ChunkSpan() [2/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace > const &  other)
constexprdefault

Constructs a new ChunkSpan by copy, yields a new view to the same data.

Parameters
otherthe ChunkSpan to copy

◆ ChunkSpan() [3/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace > &&  other)
constexprdefault

Constructs a new ChunkSpan by move.

Parameters
otherthe ChunkSpan to move

◆ ChunkSpan() [4/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class OElementType , class Allocator >
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( Chunk< OElementType, mdomain_type, Allocator > &  other)
inlineconstexprnoexcept

Constructs a new ChunkSpan from a Chunk, yields a new view to the same data.

Parameters
otherthe Chunk to view

◆ ChunkSpan() [5/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class OElementType , class SFINAEElementType = ElementType, class = std::enable_if_t<std::is_const_v<SFINAEElementType>>, class Allocator >
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( Chunk< OElementType, mdomain_type, Allocator > const &  other)
inlineconstexprnoexcept

Constructs a new ChunkSpan from a Chunk, yields a new view to the same data.

Parameters
otherthe Chunk to view

◆ ChunkSpan() [6/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class OElementType >
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( ChunkSpan< OElementType, mdomain_type, layout_type, MemorySpace > const &  other)
inlineconstexprnoexcept

Constructs a new ChunkSpan by copy of a chunk, yields a new view to the same data.

Parameters
otherthe ChunkSpan to move

◆ ChunkSpan() [7/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class Mapping = mapping_type, std::enable_if_t< std::is_constructible_v< Mapping, extents_type >, int > = 0>
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( ElementType *const  ptr,
mdomain_type const &  domain 
)
inlineconstexpr

Constructs a new ChunkSpan from scratch.

Parameters
ptrthe allocation pointer to the data
domainthe domain that sustains the view

◆ ChunkSpan() [8/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( allocation_mdspan_type  allocation_mdspan,
mdomain_type const &  domain 
)
inlineconstexpr

Constructs a new ChunkSpan from scratch.

Parameters
allocation_mdspanthe allocation mdspan to the data
domainthe domain that sustains the view

◆ ChunkSpan() [9/9]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class KokkosView , class = std::enable_if_t<Kokkos::is_view<KokkosView>::value>>
constexpr ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::ChunkSpan ( KokkosView const &  view,
mdomain_type const &  domain 
)
inlineconstexprnoexcept

Constructs a new ChunkSpan from scratch.

Parameters
viewthe Kokkos view
domainthe domain that sustains the view

Member Function Documentation

◆ get_slicer_for() [1/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class QueryDDim , class... ODDims>
auto ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::get_slicer_for ( DiscreteElement< ODDims... > const &  c) const
inlineprotected

◆ get_slicer_for() [2/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class QueryDDim , class... ODDims>
auto ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::get_slicer_for ( DiscreteDomain< ODDims... > const &  c) const
inlineprotected

◆ operator=() [1/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr ChunkSpan& ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::operator= ( ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace > const &  other)
constexprdefault

Copy-assigns a new value to this ChunkSpan, yields a new view to the same data.

Parameters
otherthe ChunkSpan to copy
Returns
*this

◆ operator=() [2/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr ChunkSpan& ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::operator= ( ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace > &&  other)
constexprdefault

Move-assigns a new value to this ChunkSpan.

Parameters
otherthe ChunkSpan to move
Returns
*this

◆ operator[]() [1/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class... QueryDDims>
constexpr auto ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::operator[] ( DiscreteElement< QueryDDims... > const &  slice_spec) const
inlineconstexpr

Slice out some dimensions.

◆ operator[]() [2/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class... QueryDDims>
constexpr auto ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::operator[] ( DiscreteDomain< QueryDDims... > const &  odomain) const
inlineconstexpr

Slice out some dimensions.

◆ operator()() [1/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class... ODDims>
constexpr reference ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::operator() ( DiscreteElement< ODDims > const &...  delems) const
inlineconstexprnoexcept

Element access using a list of DiscreteElement.

Parameters
delems1D discrete elements
Returns
reference to this element

◆ operator()() [2/2]

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class... ODDims, class = std::enable_if_t<sizeof...(ODDims) != 1>>
constexpr reference ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::operator() ( DiscreteElement< ODDims... > const &  delems) const
inlineconstexprnoexcept

Element access using a multi-dimensional DiscreteElement.

Parameters
delemsdiscrete elements
Returns
reference to this element

◆ data()

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr ElementType* ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::data ( ) const
inlineconstexpr

Access to the underlying allocation pointer.

Returns
allocation pointer

◆ internal_mdspan()

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr internal_mdspan_type ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::internal_mdspan ( ) const
inlineconstexpr

◆ allocation_mdspan()

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr allocation_mdspan_type ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::allocation_mdspan ( ) const
inlineconstexpr

Provide a mdspan on the memory allocation.

Returns
allocation mdspan

◆ allocation_kokkos_view()

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr auto ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::allocation_kokkos_view ( ) const
inlineconstexpr

Provide a mdspan on the memory allocation.

Returns
allocation mdspan

◆ span_cview()

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr view_type ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::span_cview ( ) const
inlineconstexpr

◆ span_view()

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
constexpr span_type ddc::ChunkSpan< ElementType, DiscreteDomain< DDims... >, LayoutStridedPolicy, MemorySpace >::span_view ( ) const
inlineconstexpr

Friends And Related Function Documentation

◆ ChunkSpan

template<class ElementType , class... DDims, class LayoutStridedPolicy , class MemorySpace >
template<class , class , class , class >
friend class ChunkSpan
friend

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