std::ranges::lazy_split_view<V, Pattern>::outer_iterator<Const>::value_type
From cppreference.com
< cpp | ranges | lazy split view
| struct value_type : ranges::view_interface<value_type> |
(since C++20) | |
The value type of the iterator ranges::lazy_split_view<V, Pattern>::/*outer_iterator*/<Const>.
Data members
Typical implementations of value_type hold only one non-static data member: an iterator of type outer_iterator (shown here as i_ for exposition only) into underlying view of the outer class.
Member functions
| (constructor) (C++20) |
constructs a value_type object (public member function) |
| begin (C++20) |
returns an inner_iterator to the beginning of the inner range (public member function) |
| end (C++20) |
returns a std::default_sentinel (public member function) |
Inherited from std::ranges::view_interface | |
| (C++20) |
Returns whether the derived view is empty. Provided if it satisfies sized_range or forward_range. (public member function of std::ranges::view_interface<D>) |
| (C++20) |
Returns whether the derived view is not empty. Provided if ranges::empty is applicable to it. (public member function of std::ranges::view_interface<D>) |
| (C++20) |
Returns the first element in the derived view. Provided if it satisfies forward_range. (public member function of std::ranges::view_interface<D>) |
Member functions
std::ranges::lazy_split_view::outer_iterator::value_type::value_type
| value_type() = default; |
(1) | (since C++20) |
| constexpr explicit value_type(/*outer_iterator*/ i); |
(2) | (since C++20) |
1) Value initializes the exposition-only non-static data member
i_ via its default member initializer
(= /*outer_iterator*/()).2) Initializes
i_ with std::move(i).
std::ranges::lazy_split_view::outer_iterator::value_type::begin
| constexpr /*inner_iterator*/<Const> begin() const; |
(since C++20) | |
Equivalent to return /*inner_iterator*/<Const>{i_};.
std::ranges::lazy_split_view::outer_iterator::value_type::end
| constexpr std::default_sentinel_t end() const noexcept; |
(since C++20) | |
Returns std::default_sentinel.
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3593 | C++20 | end always returns std::default_sentinel but might not be noexcept
|
made noexcept |