diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-02-19 11:54:19 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2020-02-19 12:46:57 +0000 |
commit | 15411a6453444ef49940822380e39e6a1d174fac (patch) | |
tree | da024ea95ee19783b89782e813db8d4e0d8643c0 /libstdc++-v3/include/std | |
parent | fa89adaa979093936d8f148ef5496db05ad308e5 (diff) | |
download | gcc-15411a6453444ef49940822380e39e6a1d174fac.zip gcc-15411a6453444ef49940822380e39e6a1d174fac.tar.gz gcc-15411a6453444ef49940822380e39e6a1d174fac.tar.bz2 |
libstdc++: "safe" in several library names is misleading (LWG 3379)
* include/bits/range_access.h (enable_safe_range): Rename to
enable_borrowed_range.
(__detail::__maybe_safe_range): Rename to __maybe_borrowed_range.
(safe_range): Rename to borrowed_range.
* include/bits/ranges_algo.h: Adjust to use new names.
* include/bits/ranges_algobase.h: Likewise.
* include/bits/ranges_uninitialized.h: Likewise.
* include/std/ranges: Likewise.
(safe_iterator_t): Rename to borrowed_iterator_t.
(safe_subrange_t): Rename to borrowed_subrange_t.
* include/std/span: Adjust to use new names.
* include/std/string_view: Likewise.
* include/experimental/string_view: Likewise.
* testsuite/std/ranges/access/begin.cc: Likewise.
* testsuite/std/ranges/access/cbegin.cc: Likewise.
* testsuite/std/ranges/access/cdata.cc: Likewise.
* testsuite/std/ranges/access/cend.cc: Likewise.
* testsuite/std/ranges/access/crbegin.cc: Likewise.
* testsuite/std/ranges/access/crend.cc: Likewise.
* testsuite/std/ranges/access/data.cc: Likewise.
* testsuite/std/ranges/access/end.cc: Likewise.
* testsuite/std/ranges/access/rbegin.cc: Likewise.
* testsuite/std/ranges/access/rend.cc: Likewise.
* testsuite/std/ranges/safe_range.cc: Likewise.
* testsuite/std/ranges/safe_range_types.cc: Likewise.
* testsuite/util/testsuite_iterators.h: Likewise.
Diffstat (limited to 'libstdc++-v3/include/std')
-rw-r--r-- | libstdc++-v3/include/std/ranges | 31 | ||||
-rw-r--r-- | libstdc++-v3/include/std/span | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/std/string_view | 6 |
3 files changed, 23 insertions, 22 deletions
diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges index 4e50206..4bfda88 100644 --- a/libstdc++-v3/include/std/ranges +++ b/libstdc++-v3/include/std/ranges @@ -93,7 +93,7 @@ namespace ranges /// A range which can be safely converted to a view. template<typename _Tp> concept viewable_range = range<_Tp> - && (safe_range<_Tp> || view<remove_cvref_t<_Tp>>); + && (borrowed_range<_Tp> || view<remove_cvref_t<_Tp>>); namespace __detail { @@ -294,7 +294,7 @@ namespace ranges } template<__detail::__not_same_as<subrange> _Rng> - requires safe_range<_Rng> + requires borrowed_range<_Rng> && convertible_to<iterator_t<_Rng>, _It> && convertible_to<sentinel_t<_Rng>, _Sent> constexpr @@ -305,7 +305,7 @@ namespace ranges _M_size._M_size = ranges::size(__r); } - template<safe_range _Rng> + template<borrowed_range _Rng> requires convertible_to<iterator_t<_Rng>, _It> && convertible_to<sentinel_t<_Rng>, _Sent> constexpr @@ -417,14 +417,14 @@ namespace ranges -> subrange<tuple_element_t<0, _Pr>, tuple_element_t<1, _Pr>, subrange_kind::sized>; - template<safe_range _Rng> + template<borrowed_range _Rng> subrange(_Rng&&) -> subrange<iterator_t<_Rng>, sentinel_t<_Rng>, (sized_range<_Rng> || sized_sentinel_for<sentinel_t<_Rng>, iterator_t<_Rng>>) ? subrange_kind::sized : subrange_kind::unsized>; - template<safe_range _Rng> + template<borrowed_range _Rng> subrange(_Rng&&, __detail::__make_unsigned_like_t<range_difference_t<_Rng>>) -> subrange<iterator_t<_Rng>, sentinel_t<_Rng>, subrange_kind::sized>; @@ -454,7 +454,7 @@ namespace ranges template<input_or_output_iterator _It, sentinel_for<_It> _Sent, subrange_kind _Kind> inline constexpr bool - enable_safe_range<subrange<_It, _Sent, _Kind>> = true; + enable_borrowed_range<subrange<_It, _Sent, _Kind>> = true; } // namespace ranges @@ -471,14 +471,14 @@ namespace ranges }; template<range _Range> - using safe_iterator_t = conditional_t<safe_range<_Range>, - iterator_t<_Range>, - dangling>; + using borrowed_iterator_t = conditional_t<borrowed_range<_Range>, + iterator_t<_Range>, + dangling>; template<range _Range> - using safe_subrange_t = conditional_t<safe_range<_Range>, - subrange<iterator_t<_Range>>, - dangling>; + using borrowed_subrange_t = conditional_t<borrowed_range<_Range>, + subrange<iterator_t<_Range>>, + dangling>; template<typename _Tp> requires is_object_v<_Tp> class empty_view @@ -493,7 +493,7 @@ namespace ranges }; template<typename _Tp> - inline constexpr bool enable_safe_range<empty_view<_Tp>> = true; + inline constexpr bool enable_borrowed_range<empty_view<_Tp>> = true; namespace __detail { @@ -919,7 +919,8 @@ namespace ranges iota_view(_Winc, _Bound) -> iota_view<_Winc, _Bound>; template<weakly_incrementable _Winc, semiregular _Bound> - inline constexpr bool enable_safe_range<iota_view<_Winc, _Bound>> = true; + inline constexpr bool + enable_borrowed_range<iota_view<_Winc, _Bound>> = true; namespace views { @@ -1221,7 +1222,7 @@ namespace views ref_view(_Range&) -> ref_view<_Range>; template<typename _Tp> - inline constexpr bool enable_safe_range<ref_view<_Tp>> = true; + inline constexpr bool enable_borrowed_range<ref_view<_Tp>> = true; namespace views { diff --git a/libstdc++-v3/include/std/span b/libstdc++-v3/include/std/span index a8c6979..63dc251 100644 --- a/libstdc++-v3/include/std/span +++ b/libstdc++-v3/include/std/span @@ -207,7 +207,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _Range> requires ranges::contiguous_range<_Range> && ranges::sized_range<_Range> - && (ranges::safe_range<_Range> || is_const_v<element_type>) + && (ranges::borrowed_range<_Range> || is_const_v<element_type>) && (!__detail::__is_std_span<remove_cvref_t<_Range>>::value) && (!__detail::__is_std_array<remove_cvref_t<_Range>>::value) && (!is_array_v<remove_cvref_t<_Range>>) @@ -465,11 +465,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace ranges { - template<typename> extern inline const bool enable_safe_range; - // Opt-in to safe_range concept + template<typename> extern inline const bool enable_borrowed_range; + // Opt-in to borrowed_range concept template<typename _ElementType, size_t _Extent> inline constexpr bool - enable_safe_range<span<_ElementType, _Extent>> = true; + enable_borrowed_range<span<_ElementType, _Extent>> = true; } _GLIBCXX_END_NAMESPACE_VERSION } // namespace std diff --git a/libstdc++-v3/include/std/string_view b/libstdc++-v3/include/std/string_view index bedad24..16687f6 100644 --- a/libstdc++-v3/include/std/string_view +++ b/libstdc++-v3/include/std/string_view @@ -727,11 +727,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #if __cpp_lib_concepts namespace ranges { - template<typename> extern inline const bool enable_safe_range; - // Opt-in to safe_range concept + template<typename> extern inline const bool enable_borrowed_range; + // Opt-in to borrowed_range concept template<typename _CharT, typename _Traits> inline constexpr bool - enable_safe_range<basic_string_view<_CharT, _Traits>> = true; + enable_borrowed_range<basic_string_view<_CharT, _Traits>> = true; } #endif _GLIBCXX_END_NAMESPACE_VERSION |