std::all_of() in C++
Last Updated :
20 Feb, 2023
The C++ function is defined in <algorithm> library in STL. This function operates on whole range of array elements and can save time to run a loop to check each elements one by one. It checks for a given property on every element and returns true when each element in range satisfies specified property, else returns false. Syntax:
template <class InputIterator, class UnaryPredicate>
bool all_of (InputIterator first, InputIterator last, UnaryPredicate pred);
first : Input iterators to the initial positions in a sequence.
last : Input iterators to the final positions in a sequence.
pred : An unary predicate function that accepts an element and returns a bool.
Exception : Throws exception if either predicate or an operation on an iterator throws exception. Examples:
CPP
#include <vector>
#include <algorithm>
#include <iostream>
int main()
{
std::vector< int > v(10, 2);
if (std::all_of(v.cbegin(), v.cend(), []( int i){ return i % 2 == 0; }))
{
std::cout << "All numbers are even\n" ;
}
}
|
Output:
All numbers are even
Time Complexity: O(n) where n is the size of the vector.
Space Complexity: O(n)
CPP
#include<iostream>
#include<algorithm> // for all_of()
using namespace std;
int main()
{
int ar[6] = {1, 2, 3, 4, 5, -6};
all_of(ar, ar+6, []( int x) { return x>0; })?
cout << "All are positive elements" :
cout << "All are not positive elements" ;
return 0;
}
|
Output:
All are not positive elements
Time Complexity: O(n) where n is the size of the vector.
Space Complexity: O(n)
In the above code, -6 being a negative element negates the condition and returns false. Useful array algorithms STL functions
Share your thoughts in the comments
Please Login to comment...