Функция none_of
Функция none_of проверяет, что ни один
элемент диапазона не удовлетворяет заданному
условию. Она принимает два итератора, задающих
диапазон [first, last), а также предикат -
функцию или лямбда-выражение, которое проверяет
каждый элемент. Если для всех элементов предикат
вернул false, функция возвращает true.
Если хотя бы для одного элемента предикат вернул
true, функция возвращает false.
Синтаксис
#include <algorithm>
none_of(first, last, pred)
Пример
Давайте проверим, что в векторе {1, 2, 3, 4, 5}
нет ни одного чётного числа:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
bool res = none_of(vec.begin(), vec.end(),
[](int n) { return n % 2 == 0; });
cout << res << endl;
return 0;
}
Результат выполнения кода:
0
Пример
Давайте проверим, что в векторе {1, 2, 3, 4, 5}
нет ни одного числа больше 10:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
bool res = none_of(vec.begin(), vec.end(),
[](int n) { return n > 10; });
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте проверим, что в векторе строк
{"a", "b", "c", "d", "e"} нет ни одной строки,
начинающейся с символа 'x':
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
vector<string> vec = {"a", "b", "c", "d", "e"};
bool res = none_of(vec.begin(), vec.end(),
[](const string& s) { return s[0] == 'x'; });
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Смотрите также
-
функция
all_of,
которая проверяет, что все элементы удовлетворяют условию -
функция
any_of,
которая проверяет, что хотя бы один элемент удовлетворяет условию -
функция
find_if,
которая ищет первый элемент, удовлетворяющий условию -
функция
count_if,
которая считает количество элементов, удовлетворяющих условию