19066
19066
class AccessorPolicy = default_accessor<ElementType>>
19067
19067
class mdspan;
19068
19068
19069
- // \ref{mdspan.submdspan }, \tcode{submdspan} creation
19069
+ // \ref{mdspan.sub }, \tcode{submdspan} creation
19070
19070
template<class OffsetType, class LengthType, class StrideType>
19071
19071
struct strided_slice;
19072
19072
19079
19079
template<class IndexType, class... Extents, class... SliceSpecifiers>
19080
19080
constexpr auto submdspan_extents(const extents<IndexType, Extents...>&, SliceSpecifiers...);
19081
19081
19082
- // \ref{mdspan.submdspan.submdspan }, \tcode{submdspan} function template
19082
+ // \ref{mdspan.sub.sub }, \tcode{submdspan} function template
19083
19083
template<class ElementType, class Extents, class LayoutPolicy,
19084
19084
class AccessorPolicy, class... SliceSpecifiers>
19085
19085
constexpr auto submdspan(
19966
19966
private:
19967
19967
extents_type @\exposid{extents_}@{}; // \expos
19968
19968
19969
- // \ref{mdspan.submdspan.mapping }, \tcode{submdspan} mapping specialization
19969
+ // \ref{mdspan.sub.map }, \tcode{submdspan} mapping specialization
19970
19970
template<class... SliceSpecifiers>
19971
19971
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
19972
19972
-> @\seebelow@;
20289
20289
private:
20290
20290
extents_type @\exposid{extents_}@{}; // \expos
20291
20291
20292
- // \ref{mdspan.submdspan.mapping }, \tcode{submdspan} mapping specialization
20292
+ // \ref{mdspan.sub.map }, \tcode{submdspan} mapping specialization
20293
20293
template<class... SliceSpecifiers>
20294
20294
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
20295
20295
-> @\seebelow@;
20613
20613
extents_type @\exposid{extents_}@{}; // \expos
20614
20614
array<index_type, @\exposid{rank_}@> @\exposid{strides_}@{}; // \expos
20615
20615
20616
- // \ref{mdspan.submdspan.mapping }, \tcode{submdspan} mapping specialization
20616
+ // \ref{mdspan.sub.map }, \tcode{submdspan} mapping specialization
20617
20617
template<class... SliceSpecifiers>
20618
20618
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
20619
20619
-> @\seebelow@;
20934
20934
Otherwise, \tcode{false}.
20935
20935
\end{itemdescr}
20936
20936
20937
- \rSec4[mdspan.layout.leftpadded ]{Class template \tcode{layout_left_padded::mapping}}
20937
+ \rSec4[mdspan.layout.leftpad ]{Class template \tcode{layout_left_padded::mapping}}
20938
20938
20939
- \rSec5[mdspan.layout.leftpadded .overview]{Overview}
20939
+ \rSec5[mdspan.layout.leftpad .overview]{Overview}
20940
20940
20941
20941
\pnum
20942
20942
\tcode{layout_left_padded} provides a layout mapping
@@ -20963,11 +20963,11 @@
20963
20963
static constexpr size_t @\exposid{first-static-extent}@ = // \expos
20964
20964
extents_type::static_extent(0);
20965
20965
20966
- // \ref{mdspan.layout.leftpadded .expo}, exposition-only members
20966
+ // \ref{mdspan.layout.leftpad .expo}, exposition-only members
20967
20967
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@; // \expos
20968
20968
20969
20969
public:
20970
- // \ref{mdspan.layout.leftpadded .cons}, constructors
20970
+ // \ref{mdspan.layout.leftpad .cons}, constructors
20971
20971
constexpr mapping() noexcept : mapping(extents_type{}) {}
20972
20972
constexpr mapping(const mapping&) noexcept = default;
20973
20973
constexpr mapping(const extents_type&);
20988
20988
20989
20989
constexpr mapping& operator=(const mapping&) noexcept = default;
20990
20990
20991
- // \ref{mdspan.layout.leftpadded .obs}, observers
20991
+ // \ref{mdspan.layout.leftpad .obs}, observers
20992
20992
constexpr const extents_type& extents() const noexcept { return @\exposid{extents_}@; }
20993
20993
constexpr array<index_type, rank_> strides() const noexcept;
20994
20994
@@ -21010,10 +21010,10 @@
21010
21010
friend constexpr bool operator==(const mapping&, const LayoutLeftPaddedMapping&) noexcept;
21011
21011
21012
21012
private:
21013
- // \ref{mdspan.layout.leftpadded .expo}, exposition-only members
21013
+ // \ref{mdspan.layout.leftpad .expo}, exposition-only members
21014
21014
index_type @\exposid{stride-1}@ = @\exposid{static-padding-stride}@; // \expos
21015
21015
extents_type @\exposid{extents_}@{}; // \expos
21016
- // \ref{mdspan.submdspan.mapping }, submdspan mapping specialization
21016
+ // \ref{mdspan.sub.map }, submdspan mapping specialization
21017
21017
template<class... SliceSpecifiers>
21018
21018
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
21019
21019
-> @\seebelow@;
21035
21035
that models \libconcept{regular} for each \tcode{E}.
21036
21036
21037
21037
\pnum
21038
- Throughout \ref{mdspan.layout.leftpadded },
21038
+ Throughout \ref{mdspan.layout.leftpad },
21039
21039
let \tcode{P_rank} be the following
21040
21040
size \exposid{rank_} parameter pack of \tcode{size_}t values:
21041
21041
\begin{itemize}
21088
21088
is representable as a value of type \tcode{index_type}.
21089
21089
\end{itemize}
21090
21090
21091
- \rSec5[mdspan.layout.leftpadded .expo]{Exposition-only members}
21091
+ \rSec5[mdspan.layout.leftpad .expo]{Exposition-only members}
21092
21092
21093
21093
\begin{itemdecl}
21094
21094
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@;
21125
21125
\end{note}
21126
21126
\end{itemdescr}
21127
21127
21128
- \rSec5[mdspan.layout.leftpadded .cons]{Constructors}
21128
+ \rSec5[mdspan.layout.leftpad .cons]{Constructors}
21129
21129
21130
21130
\indexlibraryctor{layout_left_padded::mapping}%
21131
21131
\begin{itemdecl}
21425
21425
\end{note}
21426
21426
\end{itemdescr}
21427
21427
21428
- \rSec5[mdspan.layout.leftpadded .obs]{Observers}
21428
+ \rSec5[mdspan.layout.leftpad .obs]{Observers}
21429
21429
21430
21430
\begin{itemdecl}
21431
21431
constexpr array<index_type, @\exposid{rank_}@> strides() const noexcept;
21556
21556
Otherwise, \tcode{false}.
21557
21557
\end{itemdescr}
21558
21558
21559
- \rSec4[mdspan.layout.rightpadded ]{Class template \tcode{layout_right_padded::mapping}}
21559
+ \rSec4[mdspan.layout.rightpad ]{Class template \tcode{layout_right_padded::mapping}}
21560
21560
21561
- \rSec5[mdspan.layout.rightpadded .overview]{Overview}
21561
+ \rSec5[mdspan.layout.rightpad .overview]{Overview}
21562
21562
21563
21563
\pnum
21564
21564
\tcode{layout_right_padded} provides a layout mapping
@@ -21586,11 +21586,11 @@
21586
21586
static constexpr size_t @\exposid{last-static-extent}@ = // \expos
21587
21587
extents_type::static_extent(@\exposid{rank_}@ - 1);
21588
21588
21589
- // \ref{mdspan.layout.rightpadded .expo}, exposition-only members
21589
+ // \ref{mdspan.layout.rightpad .expo}, exposition-only members
21590
21590
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@; // \expos
21591
21591
21592
21592
public:
21593
- // \ref{mdspan.layout.rightpadded .cons}, constructors
21593
+ // \ref{mdspan.layout.rightpad .cons}, constructors
21594
21594
constexpr mapping() noexcept : mapping(extents_type{}) {}
21595
21595
constexpr mapping(const mapping&) noexcept = default;
21596
21596
constexpr mapping(const extents_type&);
21612
21612
21613
21613
constexpr mapping& operator=(const mapping&) noexcept = default;
21614
21614
21615
- // \ref{mdspan.layout.rightpadded .obs}, observers
21615
+ // \ref{mdspan.layout.rightpad .obs}, observers
21616
21616
constexpr const extents_type& extents() const noexcept { return extents_; }
21617
21617
constexpr array<index_type, rank_> strides() const noexcept;
21618
21618
@@ -21635,11 +21635,11 @@
21635
21635
friend constexpr bool operator==(const mapping&, const LayoutRightPaddedMapping&) noexcept;
21636
21636
21637
21637
private:
21638
- // \ref{mdspan.layout.rightpadded .expo}, exposition-only members
21638
+ // \ref{mdspan.layout.rightpad .expo}, exposition-only members
21639
21639
index_type @\exposid{stride-rm2}@ = @\exposid{static-padding-stride}@; // \expos
21640
21640
extents_type @\exposid{extents_}@{}; // \expos
21641
21641
21642
- // \ref{mdspan.submdspan.mapping }, submdspan mapping specialization
21642
+ // \ref{mdspan.sub.map }, submdspan mapping specialization
21643
21643
template<class... SliceSpecifiers>
21644
21644
constexpr auto @\exposid{submdspan-mapping-impl}@(SliceSpecifiers...) const // \expos
21645
21645
-> @\seebelow@;
21661
21661
that models \libconcept{regular} for each \tcode{E}.
21662
21662
21663
21663
\pnum
21664
- Throughout \ref{mdspan.layout.rightpadded },
21664
+ Throughout \ref{mdspan.layout.rightpad },
21665
21665
let \tcode{P_rank} be the following
21666
21666
size \exposid{rank_} parameter pack of \tcode{size_}t values:
21667
21667
\begin{itemize}
21714
21714
is representable as a value of type \tcode{index_type}.
21715
21715
\end{itemize}
21716
21716
21717
- \rSec5[mdspan.layout.rightpadded .expo]{Exposition-only members}
21717
+ \rSec5[mdspan.layout.rightpad .expo]{Exposition-only members}
21718
21718
21719
21719
\begin{itemdecl}
21720
21720
static constexpr size_t @\exposid{static-padding-stride}@ = @\seebelow@;
21752
21752
\end{note}
21753
21753
\end{itemdescr}
21754
21754
21755
- \rSec5[mdspan.layout.rightpadded .cons]{Constructors}
21755
+ \rSec5[mdspan.layout.rightpad .cons]{Constructors}
21756
21756
21757
21757
\indexlibraryctor{layout_right_padded::mapping}%
21758
21758
\begin{itemdecl}
22053
22053
\end{note}
22054
22054
\end{itemdescr}
22055
22055
22056
- \rSec5[mdspan.layout.rightpadded .obs]{Observers}
22056
+ \rSec5[mdspan.layout.rightpad .obs]{Observers}
22057
22057
22058
22058
\indexlibrarymember{layout_right_padded::mapping}{strides}%
22059
22059
\begin{itemdecl}
22986
22986
\end{codeblock}
22987
22987
\end{itemdescr}
22988
22988
22989
- \rSec3[mdspan.submdspan ]{\tcode{submdspan}}
22989
+ \rSec3[mdspan.sub ]{\tcode{submdspan}}
22990
22990
22991
- \rSec4[mdspan.submdspan .overview]{Overview}
22991
+ \rSec4[mdspan.sub .overview]{Overview}
22992
22992
22993
22993
\pnum
22994
22994
The \tcode{submdspan} facilities create a new \tcode{mdspan}
22997
22997
the \tcode{SliceSpecifier} arguments.
22998
22998
22999
22999
\pnum
23000
- For each function defined in subclause \ref{mdspan.submdspan } that
23000
+ For each function defined in subclause \ref{mdspan.sub } that
23001
23001
takes a parameter pack named \tcode{slices} as an argument:
23002
23002
23003
23003
\begin{itemize}
23031
23031
\end{itemize}
23032
23032
\end{itemize}
23033
23033
23034
- \rSec4[mdspan.submdspan .strided.slice]{\tcode{strided_slice}}
23034
+ \rSec4[mdspan.sub .strided.slice]{\tcode{strided_slice}}
23035
23035
23036
23036
\pnum
23037
23037
\tcode{strided_slice} represents a set of
23070
23070
Indices are selected from the half-open interval \range{1}{1 + 10}.
23071
23071
\end{note}
23072
23072
23073
- \rSec4[mdspan.submdspan.submdspan.mapping .result]{\tcode{submdspan_mapping_result}}
23073
+ \rSec4[mdspan.sub.map .result]{\tcode{submdspan_mapping_result}}
23074
23074
23075
23075
\pnum
23076
23076
Specializations of \tcode{submdspan_mapping_result}
23096
23096
\tcode{LayoutMapping} shall meet
23097
23097
the layout mapping requirements\iref{mdspan.layout.policy.reqmts}.
23098
23098
23099
- \rSec4[mdspan.submdspan .helpers]{Exposition-only helpers}
23099
+ \rSec4[mdspan.sub .helpers]{Exposition-only helpers}
23100
23100
23101
23101
\indexlibraryglobal{\exposid{de-ice}}%
23102
23102
\indexlibraryglobal{\exposid{first_}}%
23219
23219
\end{itemize}
23220
23220
\end{itemdescr}
23221
23221
23222
- \rSec4[mdspan.submdspan .extents]{\tcode{submdspan_extents} function}
23222
+ \rSec4[mdspan.sub .extents]{\tcode{submdspan_extents} function}
23223
23223
23224
23224
\indexlibraryglobal{submdspan_extents}%
23225
23225
\begin{itemdecl}
@@ -23326,12 +23326,12 @@
23326
23326
\end{itemize}
23327
23327
\end{itemdescr}
23328
23328
23329
- \rSec4[mdspan.submdspan.mapping ]{Specializations of \tcode{submdspan_mapping}}
23329
+ \rSec4[mdspan.sub.map ]{Specializations of \tcode{submdspan_mapping}}
23330
23330
23331
- \rSec5[mdspan.submdspan.mapping .common]{Common}
23331
+ \rSec5[mdspan.sub.map .common]{Common}
23332
23332
23333
23333
\pnum
23334
- The following elements apply to all functions in \ref{mdspan.submdspan.mapping }.
23334
+ The following elements apply to all functions in \ref{mdspan.sub.map }.
23335
23335
23336
23336
\pnum
23337
23337
\constraints
23396
23396
Let \tcode{offset} be a value of type \tcode{size_t} equal to
23397
23397
\tcode{(*this)(\exposid{first_}<index_type, P>(slices...)...)}.
23398
23398
23399
- \rSec5[mdspan.submdspan.mapping .left]{\tcode{layout_left} specialization of \tcode{submdspan_mapping}}
23399
+ \rSec5[mdspan.sub.map .left]{\tcode{layout_left} specialization of \tcode{submdspan_mapping}}
23400
23400
23401
23401
\indexlibrarymemberexpos{layout_left::mapping}{submdspan-mapping-impl}%
23402
23402
\begin{itemdecl}
23477
23477
\end{itemize}
23478
23478
\end{itemdescr}
23479
23479
23480
- \rSec5[mdspan.submdspan.mapping .right]{\tcode{layout_right} specialization of \tcode{submdspan_mapping}}
23480
+ \rSec5[mdspan.sub.map .right]{\tcode{layout_right} specialization of \tcode{submdspan_mapping}}
23481
23481
23482
23482
\indexlibrarymemberexpos{layout_right::mapping}{submdspan-mapping-impl}%
23483
23483
\begin{itemdecl}
23561
23561
\end{itemize}
23562
23562
\end{itemdescr}
23563
23563
23564
- \rSec5[mdspan.submdspan.mapping .stride]{\tcode{layout_stride} specialization of \tcode{submdspan_mapping}}
23564
+ \rSec5[mdspan.sub.map .stride]{\tcode{layout_stride} specialization of \tcode{submdspan_mapping}}
23565
23565
23566
23566
\indexlibrarymemberexpos{layout_stride::mapping}{submdspan-mapping-impl}%
23567
23567
\begin{itemdecl}
23586
23586
\end{itemize}
23587
23587
\end{itemdescr}
23588
23588
23589
- \rSec5[mdspan.submdspan.mapping.leftpadded ]{\tcode{layout_left_padded} specialization of \tcode{submdspan_mapping}}
23589
+ \rSec5[mdspan.sub.map.leftpad ]{\tcode{layout_left_padded} specialization of \tcode{submdspan_mapping}}
23590
23590
23591
23591
\indexlibrarymemberexpos{layout_left_padded::mapping}{submdspan-mapping-impl}%
23592
23592
\begin{itemdecl}
23661
23661
\end{itemize}
23662
23662
\end{itemdescr}
23663
23663
23664
- \rSec5[mdspan.submdspan.mapping.rightpadded ]{\tcode{layout_right_padded} specialization of \tcode{submdspan_mapping}}
23664
+ \rSec5[mdspan.sub.map.rightpad ]{\tcode{layout_right_padded} specialization of \tcode{submdspan_mapping}}
23665
23665
23666
23666
\indexlibrarymemberexpos{layout_right_padded::mapping}{submdspan-mapping-impl}%
23667
23667
\begin{itemdecl}
23741
23741
\end{itemize}
23742
23742
\end{itemdescr}
23743
23743
23744
- \rSec4[mdspan.submdspan.submdspan ]{\tcode{submdspan} function template}
23744
+ \rSec4[mdspan.sub.sub ]{\tcode{submdspan} function template}
23745
23745
23746
23746
\indexlibraryglobal{submdspan}%
23747
23747
\begin{itemdecl}
0 commit comments