On Okt 08 2020, korel ka via Gcc-patches wrote: > diff --git a/libstdc++-v3/include/bits/stl_iterator.h > b/libstdc++-v3/include/bits/stl_iterator.h > index 2259f7c..13d5dbb 100644 > --- a/libstdc++-v3/include/bits/stl_iterator.h > +++ b/libstdc++-v3/include/bits/stl_iterator.h
> @@ -625,8 +650,28 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > */ > template<typename _Container> > class back_insert_iterator > +#if __cplusplus < 201703L > : public iterator<output_iterator_tag, void, void, void, void> > +#endif > { > +#if __cplusplus >= 201703L // C++17 > + public: > + // BEGIN: Iterator base types > + /// One of the @link iterator_tags tag types@endlink. > + using iterator_category = output_iterator_tag; > + /// The type "pointed to" by the iterator. > + using value_type = void; > +#if __cplusplus <= 201703L This uses <=, but the occurrences in stream[buf]_iterator.h use ==. I think the latter is less confusing. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."