Skip to content

Commit c777f93

Browse files
authored
[range.zip, ranges.cartesian.iterator] Simplify maybe-const<true, Views> to const Views (#5778)
The type `maybe-const<Const, Views>` only appears after `Const &&` in these cases, so that only the case where `Const` is `true` matters.
1 parent c0c0d75 commit c777f93

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

source/ranges.tex

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9519,8 +9519,7 @@
95199519

95209520
@\exposid{iterator}@() = default;
95219521
constexpr @\exposid{iterator}@(@\exposid{iterator}@<!Const> i)
9522-
requires Const && (@\libconcept{convertible_to}@<iterator_t<Views>,
9523-
iterator_t<@\exposid{maybe-const}@<Const, Views>>> && ...);
9522+
requires Const && (@\libconcept{convertible_to}@<iterator_t<Views>, iterator_t<const Views>> && ...);
95249523

95259524
constexpr auto operator*() const;
95269525
constexpr @\exposid{iterator}@& operator++();
@@ -9601,8 +9600,7 @@
96019600

96029601
\begin{itemdecl}
96039602
constexpr @\exposid{iterator}@(@\exposid{iterator}@<!Const> i)
9604-
requires Const &&
9605-
(@\libconcept{convertible_to}@<iterator_t<Views>, iterator_t<@\exposid{maybe-const}@<Const, Views>>> && ...);
9603+
requires Const && (@\libconcept{convertible_to}@<iterator_t<Views>, iterator_t<const Views>> && ...);
96069604
\end{itemdecl}
96079605

96089606
\begin{itemdescr}
@@ -9887,8 +9885,7 @@
98879885
public:
98889886
@\exposid{sentinel}@() = default;
98899887
constexpr @\exposid{sentinel}@(@\exposid{sentinel}@<!Const> i)
9890-
requires Const &&
9891-
(@\libconcept{convertible_to}@<sentinel_t<Views>, sentinel_t<@\exposid{maybe-const}@<Const, Views>>> && ...);
9888+
requires Const && (@\libconcept{convertible_to}@<sentinel_t<Views>, sentinel_t<const Views>> && ...);
98929889

98939890
template<bool OtherConst>
98949891
requires (@\libconcept{sentinel_for}@<sentinel_t<@\exposid{maybe-const}@<Const, Views>>,
@@ -9922,8 +9919,7 @@
99229919

99239920
\begin{itemdecl}
99249921
constexpr @\exposid{sentinel}@(@\exposid{sentinel}@<!Const> i)
9925-
requires Const &&
9926-
(@\libconcept{convertible_to}@<sentinel_t<Views>, sentinel_t<@\exposid{maybe-const}@<Const, Views>>> && ...);
9922+
requires Const && (@\libconcept{convertible_to}@<sentinel_t<Views>, sentinel_t<const Views>> && ...);
99279923
\end{itemdecl}
99289924

99299925
\begin{itemdescr}
@@ -14479,8 +14475,8 @@
1447914475
@\exposid{iterator}@() requires @\libconcept{forward_range}@<@\exposid{maybe-const}@<Const, First>> = default;
1448014476

1448114477
constexpr @\exposid{iterator}@(@\exposid{iterator}@<!Const> i) requires Const &&
14482-
(@\libconcept{convertible_to}@<iterator_t<First>, iterator_t<@\exposid{maybe-const}@<Const, First>>> &&
14483-
... && @\libconcept{convertible_to}@<iterator_t<Vs>, iterator_t<@\exposid{maybe-const}@<Const, Vs>>>);
14478+
(@\libconcept{convertible_to}@<iterator_t<First>, iterator_t<const First>> &&
14479+
... && @\libconcept{convertible_to}@<iterator_t<Vs>, iterator_t<const Vs>>);
1448414480

1448514481
constexpr auto operator*() const;
1448614482
constexpr @\exposid{iterator}@& operator++();
@@ -14668,8 +14664,8 @@
1466814664

1466914665
\begin{itemdecl}
1467014666
constexpr @\exposid{iterator}@(@\exposid{iterator}@<!Const> i) requires Const &&
14671-
(@\libconcept{convertible_to}@<iterator_t<First>, iterator_t<@\exposid{maybe-const}@<Const, First>>> &&
14672-
... && @\libconcept{convertible_to}@<iterator_t<Vs>, iterator_t<@\exposid{maybe-const}@<Const, Vs>>>);
14667+
(@\libconcept{convertible_to}@<iterator_t<First>, iterator_t<const First>> &&
14668+
... && @\libconcept{convertible_to}@<iterator_t<Vs>, iterator_t<const Vs>>);
1467314669
\end{itemdecl}
1467414670

1467514671
\begin{itemdescr}

0 commit comments

Comments
 (0)