Created on 2019-12-19.00:00:00 last changed 8 months ago
This wording is relative to N4842.
Modify [range.range] as indicated:
template<class T> concept safe_range = range<T> && (is_lvalue_reference_v<T> || enable_safe_range<remove_cvref_t<T>>);
Given an expression E such that decltype((E)) is T,T models safe_range only
ifthe validity of iterators obtained from the object denoted by E is not tied to the lifetime of that object. Since the validity of iterators is not tied to the lifetime of an object whose type models safe_range, afunction can accept arguments of sucha type by valueand return iterators obtained from it without danger of dangling. — end note]
[ 2020-01 Priority set to 3 after review on the reflector. ]
[range.dangling] p2 hints at how safe_range should allow lvalue ranges to model it. However, its wording doesn't take into account that case.
|2020-01-05 16:13:01||admin||set||messages: + msg10911|
|2019-12-21 15:01:34||admin||set||messages: + msg10901|