|
| UNI20_HOST_DEVICE std::array< std::array< index_type, Ext::rank()>, num_spans > const & | all_strides () const noexcept |
| | Retrieve the 2-D array of all per-span strides.
|
| |
| UNI20_HOST_DEVICE constexpr extents_type const & | extents () const noexcept |
| | Return the extents of the layout.
|
| |
| UNI20_HOST_DEVICE constexpr bool | is_exhaustive () const noexcept |
| | Never exhaustive at runtime.
|
| |
| UNI20_HOST_DEVICE constexpr bool | is_strided () const noexcept |
| | True if every dimension uses the same stride across all spans.
|
| |
| UNI20_HOST_DEVICE constexpr bool | is_unique () const noexcept |
| | Always unique at runtime.
|
| |
| template<typename... Mappings> |
| UNI20_HOST_DEVICE constexpr | mapping (extents_type const &exts, Mappings... maps) noexcept |
| | Construct from extents and existing child mappings.
|
| |
| UNI20_HOST_DEVICE constexpr | mapping (extents_type const &exts, std::array< std::array< index_type, Ext::rank()>, NumSpans > const &strides_pack) noexcept |
| | Construct from shared extents and per-span raw strides.
|
| |
template<typename LeftMap , typename RightMap >
requires (LeftMap::num_spans + RightMap::num_spans == num_spans) |
| UNI20_HOST_DEVICE constexpr | mapping (LeftMap const &left, RightMap const &right) noexcept |
| | Merge two sub-mappings whose span counts sum to NumSpans.
|
| |
| template<typename OtherExt > |
| UNI20_HOST_DEVICE constexpr | mapping (std::array< index_type, Ext::rank()> const &new_strides, typename StridedZipLayout< num_spans - 1 >::template mapping< OtherExt > const &other) noexcept |
| | Prepend one span’s strides before an existing mapping of N–1 spans.
|
| |
| template<typename OtherExt > |
| UNI20_HOST_DEVICE constexpr | mapping (typename StridedZipLayout< num_spans - 1 >::template mapping< OtherExt > const &other, std::array< index_type, Ext::rank()> const &new_strides) noexcept |
| | Append one span’s strides after an existing mapping of N–1 spans.
|
| |
| template<typename... Idx> |
| UNI20_HOST_DEVICE constexpr offset_type | operator() (Idx... idxs) const noexcept |
| | Compute per-span linear offsets for a multi-index.
|
| |
| UNI20_HOST_DEVICE constexpr index_type | stride (rank_type r) const noexcept |
| | Return the common stride in dimension r.
|
| |
| UNI20_HOST_DEVICE constexpr std::array< index_type, Ext::rank()> | strides () const noexcept |
| | Return the common strides for each dimension.
|
| |
template<std::size_t NumSpans>
template<typename Ext>
struct uni20::StridedZipLayout< NumSpans >::mapping< Ext >
Nested mapping policy for extents Ext, modeling LayoutMappingPolicy.
- Template Parameters
-
| Ext | Extents type managed by the mapping. |