Namespaces
Variants
Views
Actions

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

From cppreference.com
 
 
Ranges library
Range adaptors
 
 
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.

Contents

[edit] Parameters

(none)

[edit] Return value

Iterator to the first element.

[edit] 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_ for use on subsequent calls.

[edit] Example

[edit] See also

returns an iterator or a sentinel to the end
(public member function) [edit]
returns an iterator to the beginning of a range
(customization point object)[edit]