aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-03-10 17:45:45 +0000
committerJonathan Wakely <jwakely@redhat.com>2020-03-10 17:45:45 +0000
commitcf0c3a457319df1e8dc9321227162a7c57169a39 (patch)
tree3f8e81404bd8e6cd621aa4b87e25e74d5da9e1f5 /gcc
parentb888a051deb7df7587acbe8865513b86d2a1d49f (diff)
downloadgcc-cf0c3a457319df1e8dc9321227162a7c57169a39.zip
gcc-cf0c3a457319df1e8dc9321227162a7c57169a39.tar.gz
gcc-cf0c3a457319df1e8dc9321227162a7c57169a39.tar.bz2
libstdc++: Fix noexcept guarantees for ranges::split_view
Also introduce the _M_i_current() accessors to solve the problem of access to the private member of _OuterIter from the iter_move and iter_swap overloads (which are only friends of _InnerIter not _OuterIter). * include/std/ranges (transform_view::_Iterator::__iter_move): Remove. (transform_view::_Iterator::operator*): Add noexcept-specifier. (transform_view::_Iterator::iter_move): Inline __iter_move body here. (split_view::_OuterIter::__current): Add noexcept. (split_view::_InnerIter::__iter_swap): Remove. (split_view::_InnerIter::__iter_move): Remove. (split_view::_InnerIter::_M_i_current): New accessors. (split_view::_InnerIter::__at_end): Use _M_i_current(). (split_view::_InnerIter::operator*): Likewise. (split_view::_InnerIter::operator++): Likewise. (iter_move(const _InnerIter&)): Likewise. (iter_swap(const _InnerIter&, const _InnerIter&)): Likewise. * testsuite/std/ranges/adaptors/split.cc: Check noexcept-specifier for iter_move and iter_swap on split_view's inner iterator.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions