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