https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100639

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:d5cbe0f0d4b7bc11f80b2236521f90ec94e95767

commit r12-946-gd5cbe0f0d4b7bc11f80b2236521f90ec94e95767
Author: Patrick Palka <ppa...@redhat.com>
Date:   Thu May 20 14:08:17 2021 -0400

    libstdc++: Implement missing P0896R4 changes to reverse_iterator [PR100639]

    This implements the P0896R4 changes to reverse_iterator's member types
    value_type, difference_type and reference in C++20 mode, which fixes
    taking the reverse_iterator of an iterator with a non-integral
    difference_type (such as iota_view<long long>).

    libstdc++-v3/ChangeLog:

            PR libstdc++/100639
            * include/bits/stl_iterator.h (reverse_iterator::difference_type):
            In C++20 mode, define in terms of iter_difference_t as per P0896R4.
            (reverse_iterator::reference): Likewise, but with iter_reference_t.
            (reverse_iterator::value_type): Likewise, but with iter_value_t.
            * testsuite/std/ranges/adaptors/reverse.cc (test08): New test.
            * testsuite/24_iterators/reverse_iterator/100639.cc: New test.

Reply via email to