|
1861 | 1861 | \result |
1862 | 1862 | \tcode{reference; const_reference} for constant \tcode{a}. |
1863 | 1863 |
|
| 1864 | +\pnum |
| 1865 | +\hardexpects |
| 1866 | +\tcode{a.empty()} is \tcode{false}. |
| 1867 | + |
1864 | 1868 | \pnum |
1865 | 1869 | \returns |
1866 | 1870 | \tcode{*a.begin()} |
|
1886 | 1890 | \result |
1887 | 1891 | \tcode{reference; const_reference} for constant \tcode{a}. |
1888 | 1892 |
|
| 1893 | +\pnum |
| 1894 | +\hardexpects |
| 1895 | +\tcode{a.empty()} is \tcode{false}. |
| 1896 | + |
1889 | 1897 | \pnum |
1890 | 1898 | \effects |
1891 | 1899 | Equivalent to: |
|
2150 | 2158 | \keyword{void} |
2151 | 2159 |
|
2152 | 2160 | \pnum |
2153 | | -\expects |
| 2161 | +\hardexpects |
2154 | 2162 | \tcode{a.empty()} is \tcode{false}. |
2155 | 2163 |
|
2156 | 2164 | \pnum |
|
2175 | 2183 | \keyword{void} |
2176 | 2184 |
|
2177 | 2185 | \pnum |
2178 | | -\expects |
| 2186 | +\hardexpects |
2179 | 2187 | \tcode{a.empty()} is \tcode{false}. |
2180 | 2188 |
|
2181 | 2189 | \pnum |
|
2201 | 2209 | \result |
2202 | 2210 | \tcode{reference; const_reference} for constant \tcode{a}. |
2203 | 2211 |
|
| 2212 | +\pnum |
| 2213 | +\hardexpects |
| 2214 | +\tcode{n < a.size()} is \tcode{true}. |
| 2215 | + |
2204 | 2216 | \pnum |
2205 | 2217 | \effects |
2206 | 2218 | Equivalent to: \tcode{return *(a.begin() + n);} |
@@ -19112,11 +19124,13 @@ |
19112 | 19124 | \begin{itemize} |
19113 | 19125 | \item \range{first}{first + count} is a valid range. |
19114 | 19126 | \item \tcode{It} models \libconcept{contiguous_iterator}. |
19115 | | -\item |
19116 | | -If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
19117 | | -then \tcode{count} is equal to \tcode{extent}. |
19118 | 19127 | \end{itemize} |
19119 | 19128 |
|
| 19129 | +\pnum |
| 19130 | +\hardexpects |
| 19131 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19132 | +then \tcode{count == extent} is \tcode{true}. |
| 19133 | + |
19120 | 19134 | \pnum |
19121 | 19135 | \effects |
19122 | 19136 | Initializes \exposid{data_} with \tcode{to_address(first)} and |
@@ -19152,14 +19166,16 @@ |
19152 | 19166 | \pnum |
19153 | 19167 | \expects |
19154 | 19168 | \begin{itemize} |
19155 | | -\item |
19156 | | -If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
19157 | | -then \tcode{last - first} is equal to \tcode{extent}. |
19158 | 19169 | \item \range{first}{last} is a valid range. |
19159 | 19170 | \item \tcode{It} models \libconcept{contiguous_iterator}. |
19160 | 19171 | \item \tcode{End} models \tcode{\libconcept{sized_sentinel_for}<It>}. |
19161 | 19172 | \end{itemize} |
19162 | 19173 |
|
| 19174 | +\pnum |
| 19175 | +\hardexpects |
| 19176 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19177 | +then \tcode{(last - first) == extent} is \tcode{true}. |
| 19178 | + |
19163 | 19179 | \pnum |
19164 | 19180 | \effects |
19165 | 19181 | Initializes \exposid{data_} with \tcode{to_address(first)} and |
@@ -19230,14 +19246,17 @@ |
19230 | 19246 | \pnum |
19231 | 19247 | \expects |
19232 | 19248 | \begin{itemize} |
19233 | | -\item If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
19234 | | -then \tcode{ranges::size(r)} is equal to \tcode{extent}. |
19235 | 19249 | \item \tcode{R} models \tcode{ranges::\libconcept{contiguous_range}} and |
19236 | 19250 | \tcode{ranges::\libconcept{sized_range}}. |
19237 | 19251 | \item If \tcode{is_const_v<element_type>} is \tcode{false}, |
19238 | 19252 | \tcode{R} models \tcode{ranges::\libconcept{borrowed_range}}. |
19239 | 19253 | \end{itemize} |
19240 | 19254 |
|
| 19255 | +\pnum |
| 19256 | +\hardexpects |
| 19257 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19258 | +then \tcode{ranges::size(r) == extent} is \tcode{true}. |
| 19259 | + |
19241 | 19260 | \pnum |
19242 | 19261 | \effects |
19243 | 19262 | Initializes \exposid{data_} with \tcode{ranges::data(r)} and |
|
19259 | 19278 | \tcode{is_const_v<element_type>} is \tcode{true}. |
19260 | 19279 |
|
19261 | 19280 | \pnum |
19262 | | -\expects |
19263 | | -If \tcode{extent} is not equal to \tcode{dynamic_extent}, then |
19264 | | -\tcode{il.size()} is equal to \tcode{extent}. |
| 19281 | +\hardexpects |
| 19282 | +If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
| 19283 | +then \tcode{il.size() == extent} is \tcode{true}. |
19265 | 19284 |
|
19266 | 19285 | \pnum |
19267 | 19286 | \effects |
|
19299 | 19318 | \end{itemize} |
19300 | 19319 |
|
19301 | 19320 | \pnum |
19302 | | -\expects |
| 19321 | +\hardexpects |
19303 | 19322 | If \tcode{extent} is not equal to \tcode{dynamic_extent}, |
19304 | | -then \tcode{s.size()} is equal to \tcode{extent}. |
| 19323 | +then \tcode{s.size() == extent} is \tcode{true}. |
19305 | 19324 |
|
19306 | 19325 | \pnum |
19307 | 19326 | \effects |
|
19371 | 19390 | \tcode{Count <= Extent} is \tcode{true}. |
19372 | 19391 |
|
19373 | 19392 | \pnum |
19374 | | -\expects |
| 19393 | +\hardexpects |
19375 | 19394 | \tcode{Count <= size()} is \tcode{true}. |
19376 | 19395 |
|
19377 | 19396 | \pnum |
|
19391 | 19410 | \tcode{Count <= Extent} is \tcode{true}. |
19392 | 19411 |
|
19393 | 19412 | \pnum |
19394 | | -\expects |
| 19413 | +\hardexpects |
19395 | 19414 | \tcode{Count <= size()} is \tcode{true}. |
19396 | 19415 |
|
19397 | 19416 | \pnum |
|
19415 | 19434 | is \tcode{true}. |
19416 | 19435 |
|
19417 | 19436 | \pnum |
19418 | | -\expects |
| 19437 | +\hardexpects |
19419 | 19438 | \begin{codeblock} |
19420 | 19439 | Offset <= size() && (Count == dynamic_extent || Count <= size() - Offset) |
19421 | 19440 | \end{codeblock} |
|
19446 | 19465 |
|
19447 | 19466 | \begin{itemdescr} |
19448 | 19467 | \pnum |
19449 | | -\expects |
| 19468 | +\hardexpects |
19450 | 19469 | \tcode{count <= size()} is \tcode{true}. |
19451 | 19470 |
|
19452 | 19471 | \pnum |
|
19461 | 19480 |
|
19462 | 19481 | \begin{itemdescr} |
19463 | 19482 | \pnum |
19464 | | -\expects |
| 19483 | +\hardexpects |
19465 | 19484 | \tcode{count <= size()} is \tcode{true}. |
19466 | 19485 |
|
19467 | 19486 | \pnum |
|
19477 | 19496 |
|
19478 | 19497 | \begin{itemdescr} |
19479 | 19498 | \pnum |
19480 | | -\expects |
| 19499 | +\hardexpects |
19481 | 19500 | \begin{codeblock} |
19482 | 19501 | offset <= size() && (count == dynamic_extent || count <= size() - offset) |
19483 | 19502 | \end{codeblock} |
|
19535 | 19554 |
|
19536 | 19555 | \begin{itemdescr} |
19537 | 19556 | \pnum |
19538 | | -\expects |
| 19557 | +\hardexpects |
19539 | 19558 | \tcode{idx < size()} is \tcode{true}. |
19540 | 19559 |
|
19541 | 19560 | \pnum |
|
19569 | 19588 |
|
19570 | 19589 | \begin{itemdescr} |
19571 | 19590 | \pnum |
19572 | | -\expects |
| 19591 | +\hardexpects |
19573 | 19592 | \tcode{empty()} is \tcode{false}. |
19574 | 19593 |
|
19575 | 19594 | \pnum |
|
19588 | 19607 |
|
19589 | 19608 | \begin{itemdescr} |
19590 | 19609 | \pnum |
19591 | | -\expects |
| 19610 | +\hardexpects |
19592 | 19611 | \tcode{empty()} is \tcode{false}. |
19593 | 19612 |
|
19594 | 19613 | \pnum |
@@ -23755,17 +23774,16 @@ |
23755 | 23774 |
|
23756 | 23775 | \pnum |
23757 | 23776 | \expects |
23758 | | -\begin{itemize} |
23759 | | -\item |
23760 | | -For each rank index \tcode{r} of \tcode{extents_type}, |
23761 | | -\tcode{static_extent(r) == dynamic_extent || static_extent(r) == other.extent(r)} |
23762 | | -is \tcode{true}. |
23763 | | -\item |
23764 | 23777 | $[0, \tcode{\exposid{map_}.required_span_size()})$ is |
23765 | 23778 | an accessible range of \exposid{ptr_} and \exposid{acc_} |
23766 | 23779 | for values of \exposid{ptr_}, \exposid{map_}, and \exposid{acc_} |
23767 | 23780 | after the invocation of this constructor. |
23768 | | -\end{itemize} |
| 23781 | + |
| 23782 | +\pnum |
| 23783 | +\hardexpects |
| 23784 | +For each rank index \tcode{r} of \tcode{extents_type}, |
| 23785 | +\tcode{static_extent(r) == dynamic_extent || static_extent(r) == other.extent(r)} |
| 23786 | +is \tcode{true}. |
23769 | 23787 |
|
23770 | 23788 | \pnum |
23771 | 23789 | \effects |
|
23811 | 23829 | Let \tcode{I} be \tcode{extents_type::\exposid{index-cast}(std::move(indices))}. |
23812 | 23830 |
|
23813 | 23831 | \pnum |
23814 | | -\expects |
| 23832 | +\hardexpects |
23815 | 23833 | \tcode{I} is a multidimensional index in \tcode{extents()}. |
23816 | 23834 | \begin{note} |
23817 | 23835 | This implies that |
|
0 commit comments