Предикат в C++
Результат, приводимый к bool, требует
std::predicate у вызываемого объекта.
Так помечают функции фильтрации и проверки
условий в алгоритмах. Подключите
#include <concepts>, опишем
test_value и выведем ответ предиката:
#include <concepts>
#include <iostream>
template<typename P, typename T>
requires std::predicate<P, T>
bool test_value(P check, T value) {
return check(value);
}
int main() {
auto positive = [](int n) { return n > 0; };
std::cout << test_value(positive, 3) << "\n";
return 0;
}
Объявите шаблон filter_one с
std::predicate<P, int>, возвращающий
check(value). Выведите результат
для лямбды n % 2 == 0 и числа 8.