File tree Expand file tree Collapse file tree 3 files changed +26
-12
lines changed Expand file tree Collapse file tree 3 files changed +26
-12
lines changed Original file line number Diff line number Diff line change @@ -63,6 +63,20 @@ and after consulting the paper authors and the LWG chair,
63
63
the corresponding changes were also applied to
64
64
the additional range adaptors listed above.
65
65
66
+ ### LWG motion 16
67
+
68
+ This paper removed the exposition-only concept * ` range-impl ` * ,
69
+ inlining it into its only remaining user, the ` range ` concept.
70
+ However, two uses of * ` range-impl ` * were left behind.
71
+ These have been updated and suitably adjusted
72
+ to refer to ` range ` instead.
73
+
74
+ LWG motion 13 ([ P1394R4] ( http://wg21.link/p1394r4 ) )
75
+ added a couple of new uses of
76
+ the exposition-only concept * ` forwarding-range ` * ,
77
+ which was removed by this paper.
78
+ These uses have been replaced with ` safe_range ` .
79
+
66
80
## Feature test macros
67
81
68
82
The feature test macro ` __cpp_nontype_template_parameter_class ` has been removed
Original file line number Diff line number Diff line change 10786
10786
\item \tcode {extent == dynamic_extent} is \tcode {true}.
10787
10787
\item \tcode {R} satisfies \tcode {ranges::\libconcept {contiguous_range}} and
10788
10788
\tcode {ranges::\libconcept {sized_range}}.
10789
- \item Either \tcode {R} satisfies \exposconcept {forwarding-range } or
10789
+ \item Either \tcode {R} satisfies \libconcept {safe_range } or
10790
10790
\tcode {is_const_v<element_type>} is \tcode {true}.
10791
10791
\item \tcode {remove_cvref_t<R>} is not a specialization of \tcode {span}.
10792
10792
\item \tcode {remove_cvref_t<R>} is not a specialization of \tcode {array}.
10805
10805
\item \tcode {R} models \tcode {ranges::\libconcept {contiguous_range}} and
10806
10806
\tcode {ranges::\libconcept {sized_range}}.
10807
10807
\item If \tcode {is_const_v<element_type>} is \tcode {false},
10808
- \tcode {R} models \exposconcept {forwarding-range }.
10808
+ \tcode {R} models \libconcept {safe_range }.
10809
10809
\end {itemize }
10810
10810
10811
10811
\pnum
Original file line number Diff line number Diff line change 796
796
\begin {itemdescr }
797
797
\pnum
798
798
The required expressions
799
- \tcode {ranges::begin(std::forward<T>(t) )}
799
+ \tcode {ranges::begin(t )}
800
800
and
801
- \tcode {ranges::end(std::forward< \brk {}T>(t) )}
802
- of the \exposconcept {range-impl } concept
801
+ \tcode {ranges::end(t )}
802
+ of the \libconcept {range} concept
803
803
do not require implicit expression variations\iref {concepts.equality }.
804
804
805
805
\pnum
806
- Given an expression \tcode {E } such that \tcode {decltype((E ))} is \tcode {T},
807
- \tcode {T} models \tcode { \placeholder { range-impl} } only if
806
+ Given an expression \tcode {t } such that \tcode {decltype((t ))} is \tcode {T\& },
807
+ \tcode {T} models \libconcept { range} only if
808
808
\begin {itemize }
809
- \item \range {ranges::begin(E )}{ranges::end(E )}
809
+ \item \range {ranges::begin(t )}{ranges::end(t )}
810
810
denotes a range\iref {iterator.requirements.general },
811
811
812
812
\item both
813
- \tcode {ranges::begin(E )}
813
+ \tcode {ranges::begin(t )}
814
814
and
815
- \tcode {ranges::end(E )}
815
+ \tcode {ranges::end(t )}
816
816
are amortized constant time and non-modifying, and
817
817
818
- \item if the type of \tcode {ranges::begin(E )} models
819
- \libconcept {forward_iterator}, \tcode {ranges::begin(E )} is equality-preserving.
818
+ \item if the type of \tcode {ranges::begin(t )} models
819
+ \libconcept {forward_iterator}, \tcode {ranges::begin(t )} is equality-preserving.
820
820
\end {itemize }
821
821
822
822
\pnum
You can’t perform that action at this time.
0 commit comments