Skip to content

Latest commit

 

History

History
84 lines (60 loc) · 3.76 KB

submdspan_mapping.md

File metadata and controls

84 lines (60 loc) · 3.76 KB

submdspan_mapping

  • mdspan[meta header]
  • function template[meta id-type]
  • std[meta namespace]
  • layout_stride::mapping[meta class]
  • cpp26[meta cpp]
template<class... SliceSpecifiers>
constexpr auto submdspan-mapping-impl(  // exposition only
  SliceSpecifiers ... slices) const -> see below;

template<class... SliceSpecifiers>
friend constexpr auto submdspan_mapping(
  const mapping& src, SliceSpecifiers... slices)
{
  return src.submdspan-mapping-impl(slices...);
}
  • see below[italic]
  • submdspan-mapping-impl[italic]

概要

submdspan関数をサポートするためのカスタマイゼーションポイント。

説明用の型index_typeExtents::index_type、型S_kSliceSpecifiersk番目の型とする。

テンプレートパラメータ制約

sizeof...(slices)Extents::rank()と等しいこと。

適格要件

extents()の各次元インデクスkにおいて、下記いずれかのうち1つだけを満たすこと。

事前条件

extents()の各次元インデクスkにおいて、s_kslicesk番目の値としたとき、下記を全て満たすこと。

  • S_kstrided_sliceの特殊化のとき
    • s_k.extent == 0、または
    • s_k.stride > 0
  • 0first_<index_type, k>(slices...)last_<k>(extents(), slices...)extents().extent(k)

戻り値

説明用の値や型を次の通り定義する。

説明専用のsubmdspan-mapping-impl関数テンプレートは下記の値を返す。

バージョン

言語

  • C++26

処理系

関連項目

参照