Open In App

std::all_of() in C++

Last Updated : 20 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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




// C++ code to demonstrate working of all_of()
#include <vector>
#include <algorithm>
#include <iostream>
int main()
{
    std::vector<int> v(10, 2);
     
    // illustrate all_of
    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




// C++ code to demonstrate working of all_of()
#include<iostream>
#include<algorithm> // for all_of()
using namespace std;
int main()
{
    // Initializing array
    int ar[6] = {1, 2, 3, 4, 5, -6};
 
    // Checking if all elements are positive
    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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads