]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/testsuite/std/ranges/adaptors/join.cc
libstdc++: Implement P2328 changes to join_view
authorPatrick Palka <ppalka@redhat.com>
Fri, 30 Apr 2021 22:45:46 +0000 (18:45 -0400)
committerPatrick Palka <ppalka@redhat.com>
Fri, 30 Apr 2021 22:45:46 +0000 (18:45 -0400)
commit237dde3d03c573eb13c0e765520ee4b713aa2c7e
treee941c9283504e5b8d717ef25fed3b318f4b705b8
parent3215d4f5b3d08e0087a88df9e155c779927ace1a
libstdc++: Implement P2328 changes to join_view

This implements the wording changes of P2328R0 "join_view should join
all views of ranges".

libstdc++-v3/ChangeLog:

* include/std/ranges (__detail::__non_propating_cache): Define
as per P2328.
(join_view): Remove constraints on the value and reference types
of the wrapped iterator type as per P2328.
(join_view::_Iterator::_M_satisfy): Adjust as per P2328.
(join_view::_Iterator::operator++): Likewise.
(join_view::_M_inner): Use __non_propating_cache as per P2328.
Remove now-redundant use of __maybe_present_t.
* testsuite/std/ranges/adaptors/join.cc: Include <array>.
(test10): New test.
libstdc++-v3/include/std/ranges
libstdc++-v3/testsuite/std/ranges/adaptors/join.cc