std::ranges::views::take_while, std::ranges::take_while_view — cppreference.com
Материал из cppreference.com
Шаблон:cpp/ranges/take while view/navbar
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
(1) | (начиная с C++20) |
|
|
(2) | (начиная с C++20) |
| Сигнатура вызова |
||
|
|
(начиная с C++20) | |
|
|
(начиная с C++20) | |
1) Адаптер диапазона, представляющий view элементов базовой последовательности, начиная с начала и заканчивая первым элементом, для которого предикат возвращает false.
take_while_view моделирует концепты contiguous_range, random_access_range, bidirectional_range, forward_range, и input_range когда базовое представление V моделирует соответствующие концепты.
Методы
Шаблон:cpp/ranges/adaptor/dsc pred
(C++20) |
создает take_while_view (public функция-элемент) [править] |
(C++20) |
возвращает копию основного (адаптированного) представления (public функция-элемент) [править] |
(C++20) |
возвращает итератор на начало (public функция-элемент) [править] |
(C++20) |
возвращает охранное выражение указывающее на конец (public функция-элемент) [править] |
Унаследовано от ranges::view_interface | |
(C++20) |
возвращает является ли производное представление пустым. При условии, если это удовлетворяет sized_range или forward_range. (public функция-элемент std::ranges::view_interface<D>) [править]
|
(C++23) |
возвращает константный итератор в начале диапазона. (public функция-элемент std::ranges::view_interface<D>) [править]
|
(C++23) |
возвращает охранное выражение для константного итератора диапазона. (public функция-элемент std::ranges::view_interface<D>) [править]
|
(C++20) |
возвращает, не является ли производное представление пустым. Существует, если ranges::empty применимо к нему. (public функция-элемент std::ranges::view_interface<D>) [править]
|
(C++20) |
получает адрес данных производного представления. При условии, если тип его итератора удовлетворяет contiguous_iterator. (public функция-элемент std::ranges::view_interface<D>) [править]
|
(C++20) |
возвращает первый элемент в производном представлении. При условии, если оно удовлетворяет forward_range. (public функция-элемент std::ranges::view_interface<D>) [править]
|
(C++20) |
возвращает нный элемент в производном представлении. При условии, если оно удовлетворяет random_access_range. (public функция-элемент std::ranges::view_interface<D>) [править]
|
Deduction guides
Вложенные классы
| охранное выражение (шаблон класса-элемента только для пояснения) |
Пример
#include <iostream> #include <ranges> int main() { for (int year : std::views::iota(2020) | std::views::take_while([](int y) { return y <= 2023; })) std::cout << year << ' '; std::cout << '\n'; const char idea[] {"Today is yesterday's tomorrow!..."}; for (char x : std::ranges::take_while_view(idea, [](char c) { return c != '.'; })) std::cout << x; std::cout << '\n'; }
Вывод:
2020 2021 2022 2023 Today is yesterday's tomorrow!