Например, если я хочу найти наименьший элемент коллекции, но только наименьший элемент даже, я хотел бы вызвать ranges::min_element
с отфильтрованным диапазоном следующим образом:
using ranges::views::filter;
using ranges::min_element;
std::vector<int> vals{1,2,3,4,5};
auto minVal = min_element(vals | filter([](int next){return next % 2 == 0;}));
Как проверить, пуст ли возвращенный диапазон, и если нет, получить доступ к значению?
То же самое относится к другим алгоритмам диапазона, таким как ranges::find
, ranges::find_if
и т. Д.