LWG-3555 `{transform,elements}_view::iterator::iterator_concept` should consider `const`-qualification of the underlying range (#1989)

This commit is contained in:
Michael Schellenberger Costa 2021-06-29 13:13:26 +02:00 коммит произвёл GitHub
Родитель 1bfe5b1959
Коммит 96b3678a93
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 6 добавлений и 6 удалений

Просмотреть файл

@ -1584,9 +1584,9 @@ namespace ranges {
#endif // _ITERATOR_DEBUG_LEVEL != 0 #endif // _ITERATOR_DEBUG_LEVEL != 0
public: public:
using iterator_concept = conditional_t<random_access_range<_Vw>, random_access_iterator_tag, using iterator_concept = conditional_t<random_access_range<_Base>, random_access_iterator_tag,
conditional_t<bidirectional_range<_Vw>, bidirectional_iterator_tag, conditional_t<bidirectional_range<_Base>, bidirectional_iterator_tag,
conditional_t<forward_range<_Vw>, forward_iterator_tag, input_iterator_tag>>>; conditional_t<forward_range<_Base>, forward_iterator_tag, input_iterator_tag>>>;
using value_type = remove_cvref_t<invoke_result_t<_Fn&, range_reference_t<_Base>>>; using value_type = remove_cvref_t<invoke_result_t<_Fn&, range_reference_t<_Base>>>;
using difference_type = range_difference_t<_Base>; using difference_type = range_difference_t<_Base>;
@ -4008,9 +4008,9 @@ namespace ranges {
iterator_t<_Base> _Current{}; iterator_t<_Base> _Current{};
public: public:
using iterator_concept = conditional_t<random_access_range<_Vw>, random_access_iterator_tag, using iterator_concept = conditional_t<random_access_range<_Base>, random_access_iterator_tag,
conditional_t<bidirectional_range<_Vw>, bidirectional_iterator_tag, conditional_t<bidirectional_range<_Base>, bidirectional_iterator_tag,
conditional_t<forward_range<_Vw>, forward_iterator_tag, input_iterator_tag>>>; conditional_t<forward_range<_Base>, forward_iterator_tag, input_iterator_tag>>>;
using value_type = remove_cvref_t<tuple_element_t<_Index, range_value_t<_Base>>>; using value_type = remove_cvref_t<tuple_element_t<_Index, range_value_t<_Base>>>;
using difference_type = range_difference_t<_Base>; using difference_type = range_difference_t<_Base>;