libstdc++: enable_view has false positives (LWG 3326)
authorJonathan Wakely <jwakely@redhat.com>
Mon, 24 Feb 2020 11:45:20 +0000 (11:45 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 24 Feb 2020 12:15:05 +0000 (12:15 +0000)
commit3841739c29a54c0141c3156cdd47891c258b2b88
treef69a311e19e72e8d4c1c05f38ba4af4f8dd12b8e
parent7f5617b00445dcc861a498a4cecc8aaa59e05b8c
libstdc++: enable_view has false positives (LWG 3326)

* include/std/ranges (__deep_const_range, __enable_view_impl): Remove.
(ranges::enable_view): Simplify (LWG 3326).
* include/bits/range_access.h (ranges::enable_view): Declare.
* include/bits/regex.h (__enable_view_impl): Remove partial
specialization.
* include/bits/stl_multiset.h (__enable_view_impl): Likewise.
* include/bits/stl_set.h (__enable_view_impl): Likewise.
* include/bits/unordered_set.h (__enable_view_impl): Likewise.
* include/debug/multiset.h (__enable_view_impl): Likewise.
* include/debug/set.h (__enable_view_impl): Likewise.
* include/debug/unordered_set (__enable_view_impl): Likewise.
* include/experimental/string_view (ranges::enable_view): Define
partial specialization.
* include/std/span (ranges::enable_view): Likewise.
* include/std/string_view (ranges::enable_view): Likewise.
* testsuite/std/ranges/view.cc: Check satisfaction of updated concept.
14 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/range_access.h
libstdc++-v3/include/bits/regex.h
libstdc++-v3/include/bits/stl_multiset.h
libstdc++-v3/include/bits/stl_set.h
libstdc++-v3/include/bits/unordered_set.h
libstdc++-v3/include/debug/multiset.h
libstdc++-v3/include/debug/set.h
libstdc++-v3/include/debug/unordered_set
libstdc++-v3/include/experimental/string_view
libstdc++-v3/include/std/ranges
libstdc++-v3/include/std/span
libstdc++-v3/include/std/string_view
libstdc++-v3/testsuite/std/ranges/view.cc