Skip to content

Commit 82843ae

Browse files
authored
Merge pull request #1542 from ericniebler/borrowed_subrange_t
Replace safe_subrange_t with borrowed_subrange_t
2 parents 65c6c48 + 3618ec4 commit 82843ae

File tree

7 files changed

+17
-9
lines changed

7 files changed

+17
-9
lines changed

include/range/v3/algorithm/equal_range.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ namespace ranges
105105
/// \pre
106106
requires forward_range<Rng> AND
107107
indirect_strict_weak_order<C, V const *, projected<iterator_t<Rng>, P>>)
108-
safe_subrange_t<Rng> //
108+
borrowed_subrange_t<Rng> //
109109
RANGES_FUNC(equal_range)(Rng && rng, V const & val, C pred = C{}, P proj = P{}) //
110110
{
111111
if(RANGES_CONSTEXPR_IF(sized_range<Rng>))

include/range/v3/algorithm/find_end.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ namespace ranges
217217
/// \pre
218218
requires forward_range<Rng1> AND forward_range<Rng2> AND
219219
indirect_relation<R, projected<iterator_t<Rng1>, P>, iterator_t<Rng2>>)
220-
safe_subrange_t<Rng1> RANGES_FUNC(find_end)(
220+
borrowed_subrange_t<Rng1> RANGES_FUNC(find_end)(
221221
Rng1 && rng1, Rng2 && rng2, R pred = R{}, P proj = P{}) //
222222
{
223223
return (*this)(begin(rng1),

include/range/v3/algorithm/rotate.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ namespace ranges
217217
template(typename Rng, typename I = iterator_t<Rng>)(
218218
/// \pre
219219
requires range<Rng> AND permutable<I>)
220-
safe_subrange_t<Rng> RANGES_FUNC(rotate)(Rng && rng, I middle) //
220+
borrowed_subrange_t<Rng> RANGES_FUNC(rotate)(Rng && rng, I middle) //
221221
{
222222
return (*this)(begin(rng), std::move(middle), end(rng));
223223
}

include/range/v3/algorithm/search.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ namespace ranges
197197
/// \pre
198198
requires forward_range<Rng1> AND forward_range<Rng2> AND
199199
indirectly_comparable<iterator_t<Rng1>, iterator_t<Rng2>, C, P1, P2>)
200-
safe_subrange_t<Rng1> RANGES_FUNC(search)(
200+
borrowed_subrange_t<Rng1> RANGES_FUNC(search)(
201201
Rng1 && rng1, Rng2 && rng2, C pred = C{}, P1 proj1 = P1{}, P2 proj2 = P2{}) //
202202
{
203203
if(empty(rng2))

include/range/v3/algorithm/search_n.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ namespace ranges
170170
/// \pre
171171
requires forward_range<Rng> AND
172172
indirectly_comparable<iterator_t<Rng>, V const *, C, P>)
173-
safe_subrange_t<Rng> RANGES_FUNC(search_n)(Rng && rng,
173+
borrowed_subrange_t<Rng> RANGES_FUNC(search_n)(Rng && rng,
174174
iter_difference_t<iterator_t<Rng>> cnt,
175175
V const & val,
176176
C pred = C{},

include/range/v3/view/subrange.hpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,11 @@ namespace ranges
431431
RANGES_INLINE_VARIABLE(make_subrange_fn, make_subrange)
432432

433433
template<typename R>
434-
using safe_subrange_t = detail::maybe_dangling_<R, subrange<iterator_t<R>>>;
434+
using borrowed_subrange_t = detail::maybe_dangling_<R, subrange<iterator_t<R>>>;
435+
436+
template<typename R>
437+
using safe_subrange_t RANGES_DEPRECATED("Use borrowed_subrange_t instead.") =
438+
borrowed_subrange_t<R>;
435439

436440
namespace cpp20
437441
{
@@ -447,7 +451,11 @@ namespace ranges
447451
(K == subrange_kind::sized || !sized_sentinel_for<S, I>)) //
448452
using subrange = ranges::subrange<I, S, K>;
449453

450-
using ranges::safe_subrange_t;
454+
using ranges::borrowed_subrange_t;
455+
456+
template<typename R>
457+
using safe_subrange_t RANGES_DEPRECATED("Use borrowed_subrange_t instead.") =
458+
borrowed_subrange_t<R>;
451459
} // namespace cpp20
452460
/// @}
453461
} // namespace ranges

test/view/subrange.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
CPP_template(class Rng)(
2323
requires ranges::range<Rng>)
24-
ranges::safe_subrange_t<Rng> algorithm(Rng &&rng);
24+
ranges::borrowed_subrange_t<Rng> algorithm(Rng &&rng);
2525

2626
struct Base {};
2727
struct Derived : Base {};
@@ -33,7 +33,7 @@ int main()
3333
std::vector<int> vi{1,2,3,4};
3434

3535
////////////////////////////////////////////////////////////////////////////
36-
// safe_subrange_t tests:
36+
// borrowed_subrange_t tests:
3737

3838
// lvalues are ReferenceableRanges and do not dangle:
3939
CPP_assert(same_as<subrange<int*>,

0 commit comments

Comments
 (0)