Адаптер take_while в C++
Адаптер take_while останавливает обход
на первом элементе, где лямбда вернула false.
Все до этой точки по-прежнему доступны.
Запишем возрастающий фрагмент, пока значения меньше порога, и выведем их:
std::vector<int> asc = {1, 2, 3, 10, 11};
auto prefix = asc | std::views::take_while([](int x) {
return x < 5;
});
for (int v : prefix) {
std::cout << v << "\n";
}
Обойдите вектор целых с «адаптером take_while», пока элементы не превысят 100, и выведите взятые значения.