stl-views#

group Views

Typedefs

template<typename ElementType, std::int32_t Dim>
using mdspan_t = ::cuda::std::mdspan<ElementType, ::cuda::std::dextents<coord_t, Dim>, ::cuda::std::layout_right, detail::MDSpanAccessor<ElementType, Dim>>#

An alias for std::mdspan with a custom accessor that allows elementwise access to a legate::PhysicalStore.

Template Parameters:
  • ElementType – The element type of the mdspan.

  • Dim – The dimensionality of the mdspan.

using element_policy = detail::ElementPolicy#

A policy for use with legate::experimental::stl::slice_view that creates a flat view of all the elements of the store.

using row_policy = detail::RowPolicy#

A policy for use with legate::experimental::stl::slice_view that slices a logical store along the row (0th) dimension.

Note

The elements of the resulting range are logical stores with one fewer dimension than the original store.

using column_policy = detail::ColumnPolicy#

A policy for use with legate::experimental::stl::slice_view that slices a logical store along the column (1st) dimension.

Note

The elements of the resulting range are logical stores with one fewer dimension than the original store.

template<std::int32_t... ProjDims>
using projection_policy = detail::ProjectionPolicy<ProjDims...>#

A policy for use with legate::experimental::stl::slice_view that slices a logical store along ProjDims... dimensions.

Note

The elements of the resulting range are logical stores with N fewer dimensions than the original store, where N is sizeof...(ProjDims).

template<typename ElementType, std::int32_t Dim, typename SlicePolicy>
using slice_view = detail::slice_view_t<ElementType, Dim, SlicePolicy>#

A view of a logical store, sliced along some specified dimension(s), resulting in a 1-dimensional range of logical stores.

Template Parameters:
  • ElementType – The element type of the underlying logical store.

  • Dim – The dimensionality of the underlying logical store.

  • SlicePolicy – A type that determines how the logical store is sliced into a range. Choices include element_policy, row_policy, column_policy, and projection_policy.