19078
19078
class AccessorPolicy = default_accessor<ElementType>>
19079
19079
class mdspan;
19080
19080
19081
- // \ref{mdspan.submdspan }, \tcode{submdspan} creation
19081
+ // \ref{mdspan.sub }, \tcode{submdspan} creation
19082
19082
template<class OffsetType, class LengthType, class StrideType>
19083
19083
struct strided_slice;
19084
19084
19091
19091
template<class IndexType, class... Extents, class... SliceSpecifiers>
19092
19092
constexpr auto submdspan_extents(const extents<IndexType, Extents...>&, SliceSpecifiers...);
19093
19093
19094
- // \ref{mdspan.submdspan.submdspan }, \tcode{submdspan} function template
19094
+ // \ref{mdspan.sub.sub }, \tcode{submdspan} function template
19095
19095
template<class ElementType, class Extents, class LayoutPolicy,
19096
19096
class AccessorPolicy, class... SliceSpecifiers>
19097
19097
constexpr auto submdspan(
19978
19978
private:
19979
19979
extents_type @\exposid{extents_}@{}; // \expos
19980
19980
19981
- // \ref{mdspan.submdspan.mapping }, \tcode{submdspan} mapping specialization
19981
+ // \ref{mdspan.sub.map }, \tcode{submdspan} mapping specialization
19982
19982
template<class... SliceSpecifiers>
19983
19983
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
19984
19984
-> @\seebelow@;
20301
20301
private:
20302
20302
extents_type @\exposid{extents_}@{}; // \expos
20303
20303
20304
- // \ref{mdspan.submdspan.mapping }, \tcode{submdspan} mapping specialization
20304
+ // \ref{mdspan.sub.map }, \tcode{submdspan} mapping specialization
20305
20305
template<class... SliceSpecifiers>
20306
20306
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
20307
20307
-> @\seebelow@;
20625
20625
extents_type @\exposid{extents_}@{}; // \expos
20626
20626
array<index_type, @\exposid{rank_}@> @\exposid{strides_}@{}; // \expos
20627
20627
20628
- // \ref{mdspan.submdspan.mapping }, \tcode{submdspan} mapping specialization
20628
+ // \ref{mdspan.sub.map }, \tcode{submdspan} mapping specialization
20629
20629
template<class... SliceSpecifiers>
20630
20630
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
20631
20631
-> @\seebelow@;
20946
20946
Otherwise, \tcode{false}.
20947
20947
\end{itemdescr}
20948
20948
20949
- \rSec4[mdspan.layout.leftpadded ]{Class template \tcode{layout_left_padded::mapping}}
20949
+ \rSec4[mdspan.layout.leftpad ]{Class template \tcode{layout_left_padded::mapping}}
20950
20950
20951
- \rSec5[mdspan.layout.leftpadded .overview]{Overview}
20951
+ \rSec5[mdspan.layout.leftpad .overview]{Overview}
20952
20952
20953
20953
\pnum
20954
20954
\tcode{layout_left_padded} provides a layout mapping
@@ -20975,11 +20975,11 @@
20975
20975
static constexpr size_t @\exposid{first-static-extent}@ = // \expos
20976
20976
extents_type::static_extent(0);
20977
20977
20978
- // \ref{mdspan.layout.leftpadded .expo}, exposition-only members
20978
+ // \ref{mdspan.layout.leftpad .expo}, exposition-only members
20979
20979
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@; // \expos
20980
20980
20981
20981
public:
20982
- // \ref{mdspan.layout.leftpadded .cons}, constructors
20982
+ // \ref{mdspan.layout.leftpad .cons}, constructors
20983
20983
constexpr mapping() noexcept : mapping(extents_type{}) {}
20984
20984
constexpr mapping(const mapping&) noexcept = default;
20985
20985
constexpr mapping(const extents_type&);
21000
21000
21001
21001
constexpr mapping& operator=(const mapping&) noexcept = default;
21002
21002
21003
- // \ref{mdspan.layout.leftpadded .obs}, observers
21003
+ // \ref{mdspan.layout.leftpad .obs}, observers
21004
21004
constexpr const extents_type& extents() const noexcept { return @\exposid{extents_}@; }
21005
21005
constexpr array<index_type, rank_> strides() const noexcept;
21006
21006
@@ -21022,10 +21022,10 @@
21022
21022
friend constexpr bool operator==(const mapping&, const LayoutLeftPaddedMapping&) noexcept;
21023
21023
21024
21024
private:
21025
- // \ref{mdspan.layout.leftpadded .expo}, exposition-only members
21025
+ // \ref{mdspan.layout.leftpad .expo}, exposition-only members
21026
21026
index_type @\exposid{stride-1}@ = @\exposid{static-padding-stride}@; // \expos
21027
21027
extents_type @\exposid{extents_}@{}; // \expos
21028
- // \ref{mdspan.submdspan.mapping }, submdspan mapping specialization
21028
+ // \ref{mdspan.sub.map }, submdspan mapping specialization
21029
21029
template<class... SliceSpecifiers>
21030
21030
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
21031
21031
-> @\seebelow@;
21047
21047
that models \libconcept{regular} for each \tcode{E}.
21048
21048
21049
21049
\pnum
21050
- Throughout \ref{mdspan.layout.leftpadded },
21050
+ Throughout \ref{mdspan.layout.leftpad },
21051
21051
let \tcode{P_rank} be the following
21052
21052
size \exposid{rank_} parameter pack of \tcode{size_}t values:
21053
21053
\begin{itemize}
21100
21100
is representable as a value of type \tcode{index_type}.
21101
21101
\end{itemize}
21102
21102
21103
- \rSec5[mdspan.layout.leftpadded .expo]{Exposition-only members}
21103
+ \rSec5[mdspan.layout.leftpad .expo]{Exposition-only members}
21104
21104
21105
21105
\begin{itemdecl}
21106
21106
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@;
21137
21137
\end{note}
21138
21138
\end{itemdescr}
21139
21139
21140
- \rSec5[mdspan.layout.leftpadded .cons]{Constructors}
21140
+ \rSec5[mdspan.layout.leftpad .cons]{Constructors}
21141
21141
21142
21142
\indexlibraryctor{layout_left_padded::mapping}%
21143
21143
\begin{itemdecl}
21437
21437
\end{note}
21438
21438
\end{itemdescr}
21439
21439
21440
- \rSec5[mdspan.layout.leftpadded .obs]{Observers}
21440
+ \rSec5[mdspan.layout.leftpad .obs]{Observers}
21441
21441
21442
21442
\begin{itemdecl}
21443
21443
constexpr array<index_type, @\exposid{rank_}@> strides() const noexcept;
21568
21568
Otherwise, \tcode{false}.
21569
21569
\end{itemdescr}
21570
21570
21571
- \rSec4[mdspan.layout.rightpadded ]{Class template \tcode{layout_right_padded::mapping}}
21571
+ \rSec4[mdspan.layout.rightpad ]{Class template \tcode{layout_right_padded::mapping}}
21572
21572
21573
- \rSec5[mdspan.layout.rightpadded .overview]{Overview}
21573
+ \rSec5[mdspan.layout.rightpad .overview]{Overview}
21574
21574
21575
21575
\pnum
21576
21576
\tcode{layout_right_padded} provides a layout mapping
@@ -21598,11 +21598,11 @@
21598
21598
static constexpr size_t @\exposid{last-static-extent}@ = // \expos
21599
21599
extents_type::static_extent(@\exposid{rank_}@ - 1);
21600
21600
21601
- // \ref{mdspan.layout.rightpadded .expo}, exposition-only members
21601
+ // \ref{mdspan.layout.rightpad .expo}, exposition-only members
21602
21602
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@; // \expos
21603
21603
21604
21604
public:
21605
- // \ref{mdspan.layout.rightpadded .cons}, constructors
21605
+ // \ref{mdspan.layout.rightpad .cons}, constructors
21606
21606
constexpr mapping() noexcept : mapping(extents_type{}) {}
21607
21607
constexpr mapping(const mapping&) noexcept = default;
21608
21608
constexpr mapping(const extents_type&);
21624
21624
21625
21625
constexpr mapping& operator=(const mapping&) noexcept = default;
21626
21626
21627
- // \ref{mdspan.layout.rightpadded .obs}, observers
21627
+ // \ref{mdspan.layout.rightpad .obs}, observers
21628
21628
constexpr const extents_type& extents() const noexcept { return extents_; }
21629
21629
constexpr array<index_type, rank_> strides() const noexcept;
21630
21630
@@ -21647,11 +21647,11 @@
21647
21647
friend constexpr bool operator==(const mapping&, const LayoutRightPaddedMapping&) noexcept;
21648
21648
21649
21649
private:
21650
- // \ref{mdspan.layout.rightpadded .expo}, exposition-only members
21650
+ // \ref{mdspan.layout.rightpad .expo}, exposition-only members
21651
21651
index_type @\exposid{stride-rm2}@ = @\exposid{static-padding-stride}@; // \expos
21652
21652
extents_type @\exposid{extents_}@{}; // \expos
21653
21653
21654
- // \ref{mdspan.submdspan.mapping }, submdspan mapping specialization
21654
+ // \ref{mdspan.sub.map }, submdspan mapping specialization
21655
21655
template<class... SliceSpecifiers>
21656
21656
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
21657
21657
-> @\seebelow@;
21673
21673
that models \libconcept{regular} for each \tcode{E}.
21674
21674
21675
21675
\pnum
21676
- Throughout \ref{mdspan.layout.rightpadded },
21676
+ Throughout \ref{mdspan.layout.rightpad },
21677
21677
let \tcode{P_rank} be the following
21678
21678
size \exposid{rank_} parameter pack of \tcode{size_}t values:
21679
21679
\begin{itemize}
21726
21726
is representable as a value of type \tcode{index_type}.
21727
21727
\end{itemize}
21728
21728
21729
- \rSec5[mdspan.layout.rightpadded .expo]{Exposition-only members}
21729
+ \rSec5[mdspan.layout.rightpad .expo]{Exposition-only members}
21730
21730
21731
21731
\begin{itemdecl}
21732
21732
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@;
21764
21764
\end{note}
21765
21765
\end{itemdescr}
21766
21766
21767
- \rSec5[mdspan.layout.rightpadded .cons]{Constructors}
21767
+ \rSec5[mdspan.layout.rightpad .cons]{Constructors}
21768
21768
21769
21769
\indexlibraryctor{layout_right_padded::mapping}%
21770
21770
\begin{itemdecl}
22065
22065
\end{note}
22066
22066
\end{itemdescr}
22067
22067
22068
- \rSec5[mdspan.layout.rightpadded .obs]{Observers}
22068
+ \rSec5[mdspan.layout.rightpad .obs]{Observers}
22069
22069
22070
22070
\indexlibrarymember{layout_right_padded::mapping}{strides}%
22071
22071
\begin{itemdecl}
22998
22998
\end{codeblock}
22999
22999
\end{itemdescr}
23000
23000
23001
- \rSec3[mdspan.submdspan ]{\tcode{submdspan}}
23001
+ \rSec3[mdspan.sub ]{\tcode{submdspan}}
23002
23002
23003
- \rSec4[mdspan.submdspan .overview]{Overview}
23003
+ \rSec4[mdspan.sub .overview]{Overview}
23004
23004
23005
23005
\pnum
23006
23006
The \tcode{submdspan} facilities create a new \tcode{mdspan}
23009
23009
the \tcode{SliceSpecifier} arguments.
23010
23010
23011
23011
\pnum
23012
- For each function defined in subclause \ref{mdspan.submdspan } that
23012
+ For each function defined in subclause \ref{mdspan.sub } that
23013
23013
takes a parameter pack named \tcode{slices} as an argument:
23014
23014
23015
23015
\begin{itemize}
23043
23043
\end{itemize}
23044
23044
\end{itemize}
23045
23045
23046
- \rSec4[mdspan.submdspan .strided.slice]{\tcode{strided_slice}}
23046
+ \rSec4[mdspan.sub .strided.slice]{\tcode{strided_slice}}
23047
23047
23048
23048
\pnum
23049
23049
\tcode{strided_slice} represents a set of
23082
23082
Indices are selected from the half-open interval \range{1}{1 + 10}.
23083
23083
\end{note}
23084
23084
23085
- \rSec4[mdspan.submdspan.submdspan.mapping .result]{\tcode{submdspan_mapping_result}}
23085
+ \rSec4[mdspan.sub.map .result]{\tcode{submdspan_mapping_result}}
23086
23086
23087
23087
\pnum
23088
23088
Specializations of \tcode{submdspan_mapping_result}
23108
23108
\tcode{LayoutMapping} shall meet
23109
23109
the layout mapping requirements\iref{mdspan.layout.policy.reqmts}.
23110
23110
23111
- \rSec4[mdspan.submdspan .helpers]{Exposition-only helpers}
23111
+ \rSec4[mdspan.sub .helpers]{Exposition-only helpers}
23112
23112
23113
23113
\indexlibraryglobal{\exposid{de-ice}}%
23114
23114
\indexlibraryglobal{\exposid{first_}}%
23231
23231
\end{itemize}
23232
23232
\end{itemdescr}
23233
23233
23234
- \rSec4[mdspan.submdspan .extents]{\tcode{submdspan_extents} function}
23234
+ \rSec4[mdspan.sub .extents]{\tcode{submdspan_extents} function}
23235
23235
23236
23236
\indexlibraryglobal{submdspan_extents}%
23237
23237
\begin{itemdecl}
@@ -23338,12 +23338,12 @@
23338
23338
\end{itemize}
23339
23339
\end{itemdescr}
23340
23340
23341
- \rSec4[mdspan.submdspan.mapping ]{Specializations of \tcode{submdspan_mapping}}
23341
+ \rSec4[mdspan.sub.map ]{Specializations of \tcode{submdspan_mapping}}
23342
23342
23343
- \rSec5[mdspan.submdspan.mapping .common]{Common}
23343
+ \rSec5[mdspan.sub.map .common]{Common}
23344
23344
23345
23345
\pnum
23346
- The following elements apply to all functions in \ref{mdspan.submdspan.mapping }.
23346
+ The following elements apply to all functions in \ref{mdspan.sub.map }.
23347
23347
23348
23348
\pnum
23349
23349
\constraints
23408
23408
Let \tcode{offset} be a value of type \tcode{size_t} equal to
23409
23409
\tcode{(*this)(\exposid{first_}<index_type, P>(slices...)...)}.
23410
23410
23411
- \rSec5[mdspan.submdspan.mapping .left]{\tcode{layout_left} specialization of \tcode{submdspan_mapping}}
23411
+ \rSec5[mdspan.sub.map .left]{\tcode{layout_left} specialization of \tcode{submdspan_mapping}}
23412
23412
23413
23413
\indexlibrarymemberexpos{layout_left::mapping}{submdspan-mapping-impl}%
23414
23414
\begin{itemdecl}
23489
23489
\end{itemize}
23490
23490
\end{itemdescr}
23491
23491
23492
- \rSec5[mdspan.submdspan.mapping .right]{\tcode{layout_right} specialization of \tcode{submdspan_mapping}}
23492
+ \rSec5[mdspan.sub.map .right]{\tcode{layout_right} specialization of \tcode{submdspan_mapping}}
23493
23493
23494
23494
\indexlibrarymemberexpos{layout_right::mapping}{submdspan-mapping-impl}%
23495
23495
\begin{itemdecl}
23573
23573
\end{itemize}
23574
23574
\end{itemdescr}
23575
23575
23576
- \rSec5[mdspan.submdspan.mapping .stride]{\tcode{layout_stride} specialization of \tcode{submdspan_mapping}}
23576
+ \rSec5[mdspan.sub.map .stride]{\tcode{layout_stride} specialization of \tcode{submdspan_mapping}}
23577
23577
23578
23578
\indexlibrarymemberexpos{layout_stride::mapping}{submdspan-mapping-impl}%
23579
23579
\begin{itemdecl}
23598
23598
\end{itemize}
23599
23599
\end{itemdescr}
23600
23600
23601
- \rSec5[mdspan.submdspan.mapping.leftpadded ]{\tcode{layout_left_padded} specialization of \tcode{submdspan_mapping}}
23601
+ \rSec5[mdspan.sub.map.leftpad ]{\tcode{layout_left_padded} specialization of \tcode{submdspan_mapping}}
23602
23602
23603
23603
\indexlibrarymemberexpos{layout_left_padded::mapping}{submdspan-mapping-impl}%
23604
23604
\begin{itemdecl}
23673
23673
\end{itemize}
23674
23674
\end{itemdescr}
23675
23675
23676
- \rSec5[mdspan.submdspan.mapping.rightpadded ]{\tcode{layout_right_padded} specialization of \tcode{submdspan_mapping}}
23676
+ \rSec5[mdspan.sub.map.rightpad ]{\tcode{layout_right_padded} specialization of \tcode{submdspan_mapping}}
23677
23677
23678
23678
\indexlibrarymemberexpos{layout_right_padded::mapping}{submdspan-mapping-impl}%
23679
23679
\begin{itemdecl}
23753
23753
\end{itemize}
23754
23754
\end{itemdescr}
23755
23755
23756
- \rSec4[mdspan.submdspan.submdspan ]{\tcode{submdspan} function template}
23756
+ \rSec4[mdspan.sub.sub ]{\tcode{submdspan} function template}
23757
23757
23758
23758
\indexlibraryglobal{submdspan}%
23759
23759
\begin{itemdecl}
0 commit comments