|
1879 | 1879 | \result
|
1880 | 1880 | \tcode{reference; const_reference} for constant \tcode{a}.
|
1881 | 1881 |
|
| 1882 | +\pnum |
| 1883 | +\hardexpects |
| 1884 | +\tcode{a.empty()} is \tcode{false}. |
| 1885 | + |
1882 | 1886 | \pnum
|
1883 | 1887 | \returns
|
1884 | 1888 | \tcode{*a.begin()}
|
|
1904 | 1908 | \result
|
1905 | 1909 | \tcode{reference; const_reference} for constant \tcode{a}.
|
1906 | 1910 |
|
| 1911 | +\pnum |
| 1912 | +\hardexpects |
| 1913 | +\tcode{a.empty()} is \tcode{false}. |
| 1914 | + |
1907 | 1915 | \pnum
|
1908 | 1916 | \effects
|
1909 | 1917 | Equivalent to:
|
|
2168 | 2176 | \keyword{void}
|
2169 | 2177 |
|
2170 | 2178 | \pnum
|
2171 |
| -\expects |
| 2179 | +\hardexpects |
2172 | 2180 | \tcode{a.empty()} is \tcode{false}.
|
2173 | 2181 |
|
2174 | 2182 | \pnum
|
|
2193 | 2201 | \keyword{void}
|
2194 | 2202 |
|
2195 | 2203 | \pnum
|
2196 |
| -\expects |
| 2204 | +\hardexpects |
2197 | 2205 | \tcode{a.empty()} is \tcode{false}.
|
2198 | 2206 |
|
2199 | 2207 | \pnum
|
|
2219 | 2227 | \result
|
2220 | 2228 | \tcode{reference; const_reference} for constant \tcode{a}.
|
2221 | 2229 |
|
| 2230 | +\pnum |
| 2231 | +\hardexpects |
| 2232 | +\tcode{n < a.size()} is \tcode{true}. |
| 2233 | + |
2222 | 2234 | \pnum
|
2223 | 2235 | \effects
|
2224 | 2236 | Equivalent to: \tcode{return *(a.begin() + n);}
|
@@ -19233,11 +19245,13 @@
|
19233 | 19245 | \begin{itemize}
|
19234 | 19246 | \item \range{first}{first + count} is a valid range.
|
19235 | 19247 | \item \tcode{It} models \libconcept{contiguous_iterator}.
|
19236 |
| -\item |
19237 |
| -If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
19238 |
| -then \tcode{count} is equal to \tcode{extent}. |
19239 | 19248 | \end{itemize}
|
19240 | 19249 |
|
| 19250 | +\pnum |
| 19251 | +\hardexpects |
| 19252 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19253 | +then \tcode{count == extent} is \tcode{true}. |
| 19254 | + |
19241 | 19255 | \pnum
|
19242 | 19256 | \effects
|
19243 | 19257 | Initializes \exposid{data_} with \tcode{to_address(first)} and
|
@@ -19273,14 +19287,16 @@
|
19273 | 19287 | \pnum
|
19274 | 19288 | \expects
|
19275 | 19289 | \begin{itemize}
|
19276 |
| -\item |
19277 |
| -If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
19278 |
| -then \tcode{last - first} is equal to \tcode{extent}. |
19279 | 19290 | \item \range{first}{last} is a valid range.
|
19280 | 19291 | \item \tcode{It} models \libconcept{contiguous_iterator}.
|
19281 | 19292 | \item \tcode{End} models \tcode{\libconcept{sized_sentinel_for}<It>}.
|
19282 | 19293 | \end{itemize}
|
19283 | 19294 |
|
| 19295 | +\pnum |
| 19296 | +\hardexpects |
| 19297 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19298 | +then \tcode{(last - first) == extent} is \tcode{true}. |
| 19299 | + |
19284 | 19300 | \pnum
|
19285 | 19301 | \effects
|
19286 | 19302 | Initializes \exposid{data_} with \tcode{to_address(first)} and
|
@@ -19351,14 +19367,17 @@
|
19351 | 19367 | \pnum
|
19352 | 19368 | \expects
|
19353 | 19369 | \begin{itemize}
|
19354 |
| -\item If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
19355 |
| -then \tcode{ranges::size(r)} is equal to \tcode{extent}. |
19356 | 19370 | \item \tcode{R} models \tcode{ranges::\libconcept{contiguous_range}} and
|
19357 | 19371 | \tcode{ranges::\libconcept{sized_range}}.
|
19358 | 19372 | \item If \tcode{is_const_v<element_type>} is \tcode{false},
|
19359 | 19373 | \tcode{R} models \tcode{ranges::\libconcept{borrowed_range}}.
|
19360 | 19374 | \end{itemize}
|
19361 | 19375 |
|
| 19376 | +\pnum |
| 19377 | +\hardexpects |
| 19378 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19379 | +then \tcode{ranges::size(r) == extent} is \tcode{true}. |
| 19380 | + |
19362 | 19381 | \pnum
|
19363 | 19382 | \effects
|
19364 | 19383 | Initializes \exposid{data_} with \tcode{ranges::data(r)} and
|
|
19380 | 19399 | \tcode{is_const_v<element_type>} is \tcode{true}.
|
19381 | 19400 |
|
19382 | 19401 | \pnum
|
19383 |
| -\expects |
19384 |
| -If \tcode{extent} is not equal to \tcode{dynamic_extent}, then |
19385 |
| -\tcode{il.size()} is equal to \tcode{extent}. |
| 19402 | +\hardexpects |
| 19403 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19404 | +then \tcode{il.size() == extent} is \tcode{true}. |
19386 | 19405 |
|
19387 | 19406 | \pnum
|
19388 | 19407 | \effects
|
|
19420 | 19439 | \end{itemize}
|
19421 | 19440 |
|
19422 | 19441 | \pnum
|
19423 |
| -\expects |
| 19442 | +\hardexpects |
19424 | 19443 | If \tcode{extent} is not equal to \tcode{dynamic_extent},
|
19425 |
| -then \tcode{s.size()} is equal to \tcode{extent}. |
| 19444 | +then \tcode{s.size() == extent} is \tcode{true}. |
19426 | 19445 |
|
19427 | 19446 | \pnum
|
19428 | 19447 | \effects
|
|
19492 | 19511 | \tcode{Count <= Extent} is \tcode{true}.
|
19493 | 19512 |
|
19494 | 19513 | \pnum
|
19495 |
| -\expects |
| 19514 | +\hardexpects |
19496 | 19515 | \tcode{Count <= size()} is \tcode{true}.
|
19497 | 19516 |
|
19498 | 19517 | \pnum
|
|
19512 | 19531 | \tcode{Count <= Extent} is \tcode{true}.
|
19513 | 19532 |
|
19514 | 19533 | \pnum
|
19515 |
| -\expects |
| 19534 | +\hardexpects |
19516 | 19535 | \tcode{Count <= size()} is \tcode{true}.
|
19517 | 19536 |
|
19518 | 19537 | \pnum
|
|
19536 | 19555 | is \tcode{true}.
|
19537 | 19556 |
|
19538 | 19557 | \pnum
|
19539 |
| -\expects |
| 19558 | +\hardexpects |
19540 | 19559 | \begin{codeblock}
|
19541 | 19560 | Offset <= size() && (Count == dynamic_extent || Count <= size() - Offset)
|
19542 | 19561 | \end{codeblock}
|
|
19567 | 19586 |
|
19568 | 19587 | \begin{itemdescr}
|
19569 | 19588 | \pnum
|
19570 |
| -\expects |
| 19589 | +\hardexpects |
19571 | 19590 | \tcode{count <= size()} is \tcode{true}.
|
19572 | 19591 |
|
19573 | 19592 | \pnum
|
|
19582 | 19601 |
|
19583 | 19602 | \begin{itemdescr}
|
19584 | 19603 | \pnum
|
19585 |
| -\expects |
| 19604 | +\hardexpects |
19586 | 19605 | \tcode{count <= size()} is \tcode{true}.
|
19587 | 19606 |
|
19588 | 19607 | \pnum
|
|
19598 | 19617 |
|
19599 | 19618 | \begin{itemdescr}
|
19600 | 19619 | \pnum
|
19601 |
| -\expects |
| 19620 | +\hardexpects |
19602 | 19621 | \begin{codeblock}
|
19603 | 19622 | offset <= size() && (count == dynamic_extent || count <= size() - offset)
|
19604 | 19623 | \end{codeblock}
|
|
19656 | 19675 |
|
19657 | 19676 | \begin{itemdescr}
|
19658 | 19677 | \pnum
|
19659 |
| -\expects |
| 19678 | +\hardexpects |
19660 | 19679 | \tcode{idx < size()} is \tcode{true}.
|
19661 | 19680 |
|
19662 | 19681 | \pnum
|
|
19690 | 19709 |
|
19691 | 19710 | \begin{itemdescr}
|
19692 | 19711 | \pnum
|
19693 |
| -\expects |
| 19712 | +\hardexpects |
19694 | 19713 | \tcode{empty()} is \tcode{false}.
|
19695 | 19714 |
|
19696 | 19715 | \pnum
|
|
19709 | 19728 |
|
19710 | 19729 | \begin{itemdescr}
|
19711 | 19730 | \pnum
|
19712 |
| -\expects |
| 19731 | +\hardexpects |
19713 | 19732 | \tcode{empty()} is \tcode{false}.
|
19714 | 19733 |
|
19715 | 19734 | \pnum
|
@@ -23876,17 +23895,16 @@
|
23876 | 23895 |
|
23877 | 23896 | \pnum
|
23878 | 23897 | \expects
|
23879 |
| -\begin{itemize} |
23880 |
| -\item |
23881 |
| -For each rank index \tcode{r} of \tcode{extents_type}, |
23882 |
| -\tcode{static_extent(r) == dynamic_extent || static_extent(r) == other.extent(r)} |
23883 |
| -is \tcode{true}. |
23884 |
| -\item |
23885 | 23898 | $[0, \tcode{\exposid{map_}.required_span_size()})$ is
|
23886 | 23899 | an accessible range of \exposid{ptr_} and \exposid{acc_}
|
23887 | 23900 | for values of \exposid{ptr_}, \exposid{map_}, and \exposid{acc_}
|
23888 | 23901 | after the invocation of this constructor.
|
23889 |
| -\end{itemize} |
| 23902 | + |
| 23903 | +\pnum |
| 23904 | +\hardexpects |
| 23905 | +For each rank index \tcode{r} of \tcode{extents_type}, |
| 23906 | +\tcode{static_extent(r) == dynamic_extent || static_extent(r) == other.extent(r)} |
| 23907 | +is \tcode{true}. |
23890 | 23908 |
|
23891 | 23909 | \pnum
|
23892 | 23910 | \effects
|
|
23932 | 23950 | Let \tcode{I} be \tcode{extents_type::\exposid{index-cast}(std::move(indices))}.
|
23933 | 23951 |
|
23934 | 23952 | \pnum
|
23935 |
| -\expects |
| 23953 | +\hardexpects |
23936 | 23954 | \tcode{I} is a multidimensional index in \tcode{extents()}.
|
23937 | 23955 | \begin{note}
|
23938 | 23956 | This implies that
|
|
0 commit comments