class /*iterator*/;
(since C++20)The return type of split_view::begin. This is a forward_iterator
, so it is expected that V
models at least forward_range
.
parent_
(private) a pointer to the parent split_view object
cur_
(private) an iterator into the underlying view
that points to the begin of a current subrange
next_
(private) a subrange to the position of the pattern next to the current subrange
trailing_empty_
(private) a flag that indicates whether an empty trailing subrange (if any) was reached
operator++operator++(int)
(C++20)
advances the iteratorEquivalent to return cur_;.
std::ranges::split_view::iterator::operator*constexpr value_type operator*() const;
(since C++20)Equivalent to return {cur_, next_.begin()};.
std::ranges::split_view::iterator::operator++constexpr /*iterator*/& operator++();
(1) (since C++20)constexpr void operator++( int );
(2) (since C++20) 1)Equivalent to
if (cur_ != ranges::end(parent_->base_))
{
if (cur_ = next_.end(); cur_ == ranges::end(parent_->base_))
{
trailing_empty_ = true;
next_ = {cur_, cur_};
}
else
next_ = parent_->find_next(cur_);
}
else
trailing_empty_ = false;
2) Equivalent to auto tmp = *this; ++*this; return tmp;.
[edit] Non-member functions compares the underlying iteratorsfriend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y );
(since C++20)Equivalent to return x.cur_ == y.cur_ and x.trailing_empty_ == y.trailing_empty_;.
The !=
operator is synthesized from operator==
.
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::ranges::split_view::iterator
is an associated class of the arguments.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4