aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/std
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-02-19 11:54:19 +0000
committerJonathan Wakely <jwakely@redhat.com>2020-02-19 12:46:57 +0000
commit15411a6453444ef49940822380e39e6a1d174fac (patch)
treeda024ea95ee19783b89782e813db8d4e0d8643c0 /libstdc++-v3/include/std
parentfa89adaa979093936d8f148ef5496db05ad308e5 (diff)
downloadgcc-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/ranges31
-rw-r--r--libstdc++-v3/include/std/span8
-rw-r--r--libstdc++-v3/include/std/string_view6
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