W3cubDocs

/C++

std::ranges::chunk_by_view<V,Pred>::begin

constexpr __iterator begin();
(since C++23)

Returns an iterator to the first element of the chunk_by_view.

Equivalent to:

ranges::iterator_t<V> iter;
 
if (begin_.has_value())
    iter = begin_.value();
else
{
    iter = __find_next(ranges::begin(base()));
    begin_ = iter; // caching
}
 
return __iterator(*this, ranges::begin(base()), iter);

The behavior is undefined if the underlying predicate pred_ does not contain a value.

Parameters

(none).

Return value

Iterator to the first element.

Notes

In order to provide the amortized constant-time complexity required by the range concept, this function caches the result within the data member begin_ (the name is for exposition only) for use on subsequent calls.

Example

See also

(C++23)
returns an iterator or a sentinel to the end
(public member function)
(C++20)
returns an iterator to the beginning of a range
(customization point object)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/chunk_by_view/begin