Namespaces
Variants
Views
Actions

std::ranges::split_view<V,Pattern>::find_next

From cppreference.com
< cpp‎ | ranges‎ | split view
 
 
Ranges library
Range access
Range conversions
(C++23)
Range primitives
Dangling iterator handling
Range concepts
Views

Factories
Adaptors
Range adaptor objects
Range adaptor closure objects
Helper items
 
 
constexpr ranges::subrange<ranges::iterator_t<V>>
  find_next( ranges::iterator_t<V> it );           // exposition only
(since C++20)

Searches for the next occurrence of pattern in the underlying view. This function is for exposition only and its name is not normative.

Equivalent to:

auto [b, e] = ranges::search(ranges::subrange(it, ranges::end(base_)), pattern_);
if (b != ranges::end(base_) && ranges::empty(pattern_)) {
  ++b;
  ++e;
}
return {b, e};

[edit] Parameters

it - an iterator to the position at which to start the search

[edit] Return value

A subrange that represents the next position of the pattern, if it was found. An empty subrange otherwise.