File tree 1 file changed +11
-0
lines changed
1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -141,6 +141,17 @@ export namespace std {
141
141
#if _LIBCPP_STD_VER >= 23
142
142
// [range.adaptor.object], range adaptor objects
143
143
using std::ranges::range_adaptor_closure;
144
+ // Note: This declaration not in the synopsis or explicitly in the wording.
145
+ // However it is needed for the range adaptors.
146
+ // [range.adaptor.object]/3
147
+ // The template parameter D for range_adaptor_closure may be an
148
+ // incomplete type. If an expression of type cv D is used as an operand
149
+ // to the | operator, D shall be complete and model
150
+ // derived_from<range_adaptor_closure<D>>. The behavior of an expression
151
+ // involving an object of type cv D as an operand to the | operator is
152
+ // undefined if overload resolution selects a program-defined operator|
153
+ // function.
154
+ using std::ranges::operator |;
144
155
#endif
145
156
146
157
// [range.all], all view
You can’t perform that action at this time.
0 commit comments