Имеют ли диапазоны C++20 значение (не предикат) версию фильтра или Any_of?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Имеют ли диапазоны C++20 значение (не предикат) версию фильтра или Any_of?

Сообщение Anonymous »

Классический C++ иногда выбирает суффикс _if для алгоритмов предикатов (а не для тех, которые принимают значение), например find_if/find count_if/count а иногда и нет (например, Any_of не имеет суффикса _if, хотя он принимает предикат, и не существует версии алгоритма со значением Any_of).
Насколько я вижу, фильтр C++20 или диапазоны::any_of не имеют перегрузки значений.
Я просмотрел всю страницу cppreference для C++20 и ничего не нашел, я предполагаю, что это произошло просто потому, что библиотека диапазонов C++20 весьма ограничена (всего несколько представлений) и соответствует существующей функциональности (в случае Any_of).
Моя лучшая попытка — просто обернуть логику и дать ей новое имя.
template
static bool contains(const Range& range, const Value& value)
{
return std::ranges::find(range, value) != range.end();
}


Подробнее здесь: https://stackoverflow.com/questions/676 ... -or-any-of
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»