A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/algorithm/ranges/../../ranges/split_view/iterator.html below:

std::ranges::split_view<V,Pattern>::iterator - cppreference.com

class /*iterator*/;

(since C++20)
(exposition only*)

The return type of split_view::begin. This is a forward_iterator, so it is expected that V models at least forward_range.

[edit] Member types [edit] Data members Member Description ranges::split_view<V, Pattern>* parent_ (private) a pointer to the parent split_view object
(exposition-only member object*) ranges::iterator_t<V> cur_ (private) an iterator into the underlying view that points to the begin of a current subrange
(exposition-only member object*) ranges::subrange<ranges::iterator_t<V>> next_ (private) a subrange to the position of the pattern next to the current subrange
(exposition-only member object*) bool trailing_empty_ (private) a flag that indicates whether an empty trailing subrange (if any) was reached
(exposition-only member object*) [edit] Member functions constructs an iterator
(public member function) returns the underlying iterator
(public member function) returns the current subrange
(public member function)

operator++operator++(int)

(C++20)

advances the iterator
(public member function) std::ranges::split_view::iterator::iterator std::ranges::split_view::iterator::base

Equivalent 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


cur_ = next_.begin();

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;

return *this;

2) Equivalent to auto tmp = *this; ++*this; return tmp;.

[edit] Non-member functions compares the underlying iterators
(function) operator==(std::ranges::split_view::iterator, std::ranges::split_view::iterator)

friend 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