split_view::outer_iterator::value_type should inherit from view_interfaceSection: 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;
};
}