You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/containers.tex
+40-53Lines changed: 40 additions & 53 deletions
Original file line number
Diff line number
Diff line change
@@ -25262,15 +25262,10 @@
25262
25262
The subset viewed by the created \tcode{mdspan} is determined by
25263
25263
the \tcode{SliceSpecifier} arguments.
25264
25264
25265
-
%FIXME: WEIRD: the paper inconsistently uses math font and code font for the "S"
25266
-
% that we are defining.
25267
-
% To my understanding, we should aim to use code fonts for types,
25268
-
% so this math font $S$ should be replaced.
25269
25265
\pnum
25270
25266
Given a signed or unsigned integer type \tcode{IndexType},
25271
25267
a type $S$ is a
25272
-
%FIXME: the way I marked up this definition is almost certainly not the way it should be done
25273
-
\defnx{\tcode{submdspan} slide type for \tcode{IndexType}}{\tcode{submdspan}!slice type}
25268
+
\defnx{\tcode{submdspan} slice type for \tcode{IndexType}}{\tcode{submdspan}!slice type for \tcode{IndexType}}
25274
25269
if at least one of the following holds:
25275
25270
\begin{itemize}
25276
25271
\item
@@ -25281,8 +25276,7 @@
25281
25276
$S$ is a specialization of \tcode{strided_slice} and
25282
25277
\tcode{is_convertible_v<$X$, IndexType>} is \tcode{true} for $X$ denoting
25283
25278
\tcode{$S$::offset_type},
25284
-
%FIXME: Oxford comma
25285
-
\tcode{$S$::extent_type} and
25279
+
\tcode{$S$::extent_type}, and
25286
25280
\tcode{$S$::stride_type}; or
25287
25281
\item
25288
25282
all of the following hold:
@@ -25293,22 +25287,22 @@
25293
25287
\item
25294
25288
\tcode{sizeof...(ls)} is equal to 2, and
25295
25289
\item
25296
-
\tcode{(is_convertible_v<decltype(std::move(ls))>, IndexType> && ...)} is \tcode{true}.
25290
+
\tcode{(is_convertible_v<decltype(std::move(ls)), IndexType> \&\& ...)} is \tcode{true}.
25297
25291
\end{itemize}
25298
25292
\end{itemize}
25299
25293
25300
25294
\pnum
25301
25295
Given a signed or unsigned integer type \tcode{IndexType},
25302
25296
a type $S$ is a
25303
-
\defnx{canonical \tcode{submdspan} index type for \tcode{IndexType}}{\tcode{submdspan}!canonical index type}
25304
-
if $S$ is either \tcode{IndexType} or \tcode{constant_wrapper<V>}
25297
+
\defnx{canonical \tcode{submdspan} index type for \tcode{IndexType}}{\tcode{submdspan}!canonical index type for \tcode{IndexType}}
25298
+
if $S$ is either \tcode{IndexType} or \tcode{constant_wrapper<v>}
25305
25299
for some value \tcode{v} of type \tcode{IndexType},
25306
25300
such that \tcode{v} is greater than or equal to zero.
25307
25301
25308
25302
\pnum
25309
25303
Given a signed or unsigned integer type \tcode{IndexType},
25310
25304
a type $S$ is a
25311
-
\defnx{canonical \tcode{submdspan} slice type for \tcode{IndexType}}{\tcode{submdspan}!canonical slice type}
25305
+
\defnx{canonical \tcode{submdspan} slice type for \tcode{IndexType}}{\tcode{submdspan}!canonical slice type for \tcode{IndexType}}
25312
25306
if exactly one of the following is \tcode{true}:
25313
25307
\begin{itemize}
25314
25308
\item
@@ -25330,7 +25324,7 @@
25330
25324
\end{itemize}
25331
25325
25332
25326
\pnum
25333
-
A type $S$ is a \defnadj{collapsing}{slice type} if
25327
+
A type \tcode{S} is a \defnadj{collapsing}{slice type} if
25334
25328
it is neither \tcode{full_extent_t} nor
25335
25329
a specialization of \tcode{strided_slice}.
25336
25330
\begin{note}
@@ -25354,29 +25348,25 @@
25354
25348
Given an object \tcode{e} of type \tcode{E} that is a specialization of \tcode{extents}, and
25355
25349
an object \tcode{s} of type \tcode{S}
25356
25350
that is a canonical \tcode{submdspan} slice type for \tcode{E::index_type},
25357
-
the \defnx{\tcode{submdspan} slice range of \tcode{s} for the $k^\text{th}$ extent of \tcode{E}}{\tcode{submdspan}!slice range}
25358
-
of \tcode{e} is:
25351
+
the \defnx{\tcode{submdspan} slice range of \tcode{s} for the $k^\text{th}$ extent of \tcode{e}}{\tcode{submdspan}!slice range of \tcode{s} for the $k^\text{th}$ extent of \tcode{e}}
Given a type \tcode{E} that is a specialization of \tcode{extents},
25372
25366
a type \tcode{S} is a
25373
-
%FIXME: the trailing comma here makes no grammatical sense
25374
-
\defnx{valid \tcode{submdspan} slice type for the $k^\text{th}$ extent of \tcode{E}}{\tcode{submdspan}!valid slice type},
25367
+
\defnx{valid \tcode{submdspan} slice type for the $k^\text{th}$ extent of \tcode{E}}{\tcode{submdspan}!valid slice type for the $k^\text{th}$ extent of \tcode{E}}
25375
25368
if \tcode{S} is a canonical slice type for \tcode{E::index_type}, and
25376
-
for
25377
-
%FIXME: this is weird ... what is "x"?
25378
-
%Maybe say "for a value x"?
25379
-
$x$ equal to \tcode{E::static_extent($k$)},
25369
+
for $x$ equal to \tcode{E::static_extent($k$)},
25380
25370
either $x$ is equal to \tcode{dynamic_extent}; or
25381
25371
\begin{itemize}
25382
25372
\item
@@ -25405,7 +25395,7 @@
25405
25395
that is a specialization of \tcode{extents} and
25406
25396
an object \tcode{s} of type \tcode{S},
25407
25397
\tcode{s} is a
25408
-
\defnx{valid \tcode{submdspan} slice for the $k^\text{th}$ extent of \tcode{e}}{\tcode{submdspan}!valid slice}
25398
+
\defnx{valid \tcode{submdspan} slice for the $k^\text{th}$ extent of \tcode{e}}{\tcode{submdspan}!valid slice for the $k^\text{th}$ extent of \tcode{e}}
0 commit comments