You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Range algorithms, constructors (#2806) and iterator operations won't compile when used with unwrappable iterator "It" (e.g. string::const_iterator) and custom sentinel "Se", such that sentinel_for<Se, X> is true if and only ifX is convertible to It.
Impact
Custom sentinels and unwrappable iterators don't work together
Yes, although it's far from obvious: this is a good description of the general issue, whereas #2591 is a particular occurrence. I'll keep this around for now and link it up to the meta-issue.
Description
Range algorithms, constructors (#2806) and iterator operations won't compile when used with unwrappable iterator "
It
" (e.g.string::const_iterator
) and custom sentinel "Se
", such thatsentinel_for<Se, X>
is true if and only ifX
is convertible toIt
.Impact
Custom sentinels and unwrappable iterators don't work together
qwerty
Ranges with custom sentinels and unwrappable iterators cannot be used as inputs to algorithms
qwerty
Conversions from ranges to containers do not work
Expected behavior: This code should compile (
assuming #2806 was merged).Summary
ranges::all_of
,ranges::any_of
,ranges::none_of
,ranges::copy
,ranges::sort
.<iterator>
header don't work too (e.g.ranges::distance
),The text was updated successfully, but these errors were encountered: