split_view::outer_iterator::value_type
should inherit from view_interface
Section: 25.7.16.4 [range.lazy.split.outer.value] Status: C++20 Submitter: Eric Niebler Opened: 2019-09-09 Last modified: 2023-02-07
Priority: 0
View all other issues in [range.lazy.split.outer.value].
View all issues with C++20 status.
Discussion:
It is a view. It should have all the view goodies. Suggested priority P1 because it affects ABI.
The proposed change has been implemented and tested in range-v3.[2019-09-24 Issue Prioritization]
Status to Tentatively Ready and priority to 0 after six positive votes on the reflector.
Proposed resolution:
This wording is relative to N4830.
Modify [range.split.outer.value], class split_view::outer_iterator::value_type
synopsis, as indicated:
namespace std::ranges { template<class V, class Pattern> template<bool Const> struct split_view<V, Pattern>::outer_iterator<Const>::value_type : view_interface<value_type> { private: outer_iterator i_ = outer_iterator(); // exposition only public: value_type() = default; constexpr explicit value_type(outer_iterator i); constexpr inner_iterator<Const> begin() const; constexpr default_sentinel_t end() const; }; }