libstdc++: Implement ranges::enumerate_view from P2164R9
commit0f3b4d38d4bad8994150fe7a1e5428055d29a4bf
authorPatrick Palka <ppalka@redhat.com>
Wed, 12 Apr 2023 17:24:37 +0000 (12 13:24 -0400)
committerPatrick Palka <ppalka@redhat.com>
Wed, 12 Apr 2023 17:24:37 +0000 (12 13:24 -0400)
tree3617ed7b115d8ca283428528a00f0340af71b447
parentaa65771427d32299cffecea64cbb766411aa8faf
libstdc++: Implement ranges::enumerate_view from P2164R9

libstdc++-v3/ChangeLog:

* include/std/ranges (__cpp_lib_ranges_enumerate): Define
for C++23.
(__detail::__range_with_movable_reference): Likewise.
(enumerate_view): Likewise.
(enumerate_view::_Iterator): Likewise.
(enumerate_view::_Sentinel): Likewise.
(views::__detail::__can_enumerate_view): Likewise.
(views::_Enumerate, views::enumerate): Likewise.
* include/std/version (__cpp_lib_ranges_enumerate): Likewise.
* testsuite/std/ranges/version_c++23.cc: Verify value of
__cpp_lib_ranges_enumerate.
* testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
libstdc++-v3/include/std/ranges
libstdc++-v3/include/std/version
libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/std/ranges/version_c++23.cc