libstdc++: Implement LWG 3555 changes to transform/elements_view

libstdc++-v3/ChangeLog:

	* include/std/ranges (transform_view::_Iterator::_S_iter_concept):
	Consider _Base instead of _Vp as per LWG 3555.
	(elements_view::_Iterator::_S_iter_concept): Likewise.
This commit is contained in:
Patrick Palka 2021-06-18 20:33:31 -04:00
parent 15736576df
commit bc046a60cf
1 changed files with 6 additions and 6 deletions

View File

@ -1613,11 +1613,11 @@ namespace views::__adaptor
static auto static auto
_S_iter_concept() _S_iter_concept()
{ {
if constexpr (random_access_range<_Vp>) if constexpr (random_access_range<_Base>)
return random_access_iterator_tag{}; return random_access_iterator_tag{};
else if constexpr (bidirectional_range<_Vp>) else if constexpr (bidirectional_range<_Base>)
return bidirectional_iterator_tag{}; return bidirectional_iterator_tag{};
else if constexpr (forward_range<_Vp>) else if constexpr (forward_range<_Base>)
return forward_iterator_tag{}; return forward_iterator_tag{};
else else
return input_iterator_tag{}; return input_iterator_tag{};
@ -3653,11 +3653,11 @@ namespace views::__adaptor
static auto static auto
_S_iter_concept() _S_iter_concept()
{ {
if constexpr (random_access_range<_Vp>) if constexpr (random_access_range<_Base>)
return random_access_iterator_tag{}; return random_access_iterator_tag{};
else if constexpr (bidirectional_range<_Vp>) else if constexpr (bidirectional_range<_Base>)
return bidirectional_iterator_tag{}; return bidirectional_iterator_tag{};
else if constexpr (forward_range<_Vp>) else if constexpr (forward_range<_Base>)
return forward_iterator_tag{}; return forward_iterator_tag{};
else else
return input_iterator_tag{}; return input_iterator_tag{};