libstdc++: Add comparisons to std::default_sentinel_t (LWG 3719)
authorJonathan Wakely <jwakely@redhat.com>
Thu, 4 Aug 2022 11:48:22 +0000 (12:48 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 4 Aug 2022 18:37:56 +0000 (19:37 +0100)
commitdb33daa4677997399485176303406794dc900987
tree0912af38ece0380ae88601a81f6995da5a609f6c
parent8e34d92ef29a175b84cc7f5185db43656ae762bb
libstdc++: Add comparisons to std::default_sentinel_t (LWG 3719)

This library defect was recently approved for C++23.

libstdc++-v3/ChangeLog:

* include/bits/fs_dir.h (directory_iterator): Add comparison
with std::default_sentinel_t. Remove redundant operator!= for
C++20.
* (recursive_directory_iterator): Likewise.
* include/bits/iterator_concepts.h [!__cpp_lib_concepts]
(default_sentinel_t, default_sentinel): Define even if concepts
are not supported.
* include/bits/regex.h (regex_iterator): Add comparison with
std::default_sentinel_t. Remove redundant operator!= for C++20.
(regex_token_iterator): Likewise.
(regex_token_iterator::_M_end_of_seq()): Add noexcept.
* testsuite/27_io/filesystem/iterators/lwg3719.cc: New test.
* testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
New test.
* testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
New test.
libstdc++-v3/include/bits/fs_dir.h
libstdc++-v3/include/bits/iterator_concepts.h
libstdc++-v3/include/bits/regex.h
libstdc++-v3/testsuite/27_io/filesystem/iterators/lwg3719.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/lwg3719.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc [new file with mode: 0644]