[range.chunk.by.overview] (original) (raw)
25 Ranges library [ranges]
25.7 Range adaptors [range.adaptors]
25.7.31 Chunk by view [range.chunk.by]
25.7.31.1 Overview [range.chunk.by.overview]
chunk_by_view takes a view and a predicate, and splits the view into subranges between each pair of adjacent elements for which the predicate returns false.
Given subexpressions E and F, the expression views::chunk_by(E, F) is expression-equivalent tochunk_by_view(E, F).
[Example 1: vector v = {1, 2, 2, 3, 0, 4, 5, 2};for (auto r : v | views::chunk_by(ranges::less_equal{})) { cout << '[';auto sep = "";for (auto i : r) { cout << sep << i; sep = ", ";} cout << "] ";} — _end example_]