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, [email protected]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."