boost::algorithm::one_of() in C++ library Last Updated : 30 May, 2019 Comments Improve Suggest changes Like Article Like Report The one_of() function in C++ boost library is found under the header 'boost/algorithm/cxx11/one_of.hpp' which tests the elements of a sequence and returns true if exactly one of the element share the property given. It takes a sequence and a predicate, and returns true if the predicate returns true for exactly one given element in the sequence. Syntax: bool one_of ( InputIterator first, InputIterator last, Predicate p ) or bool one_of ( const Range &R, Predicate p) Parameters: The function accepts parameters as described below: first: It specifies the input iterators to the initial positions in a sequence. second: It specifies the input iterators to the final positions in a sequence. p: It specifies a unary predicate function that accepts an element and returns a bool. R: It is the complete sequence. Return Value: The function returns true if the given predicate is true on exactly one of the element of the sequence, else it returns false. Below is the implementation of the above approach: Program-1: CPP // C++ program to implement the // above mentioned function #include <bits/stdc++.h> #include <boost/algorithm/cxx11/one_of.hpp> using namespace std; // using boost::algorithm; // Predicate function to check if // the element is odd or not bool isOdd(int i) { return i % 2 == 1; } // Drivers code int main() { // Declares the sequence int c[] = { 1, 2, 3 }; // Run the function with second syntax bool ans = boost::algorithm::one_of(c, isOdd); // Condition to check if (ans == 1) cout << "Exactly one element is odd"; else cout << "Exactly one element is not odd"; return 0; } Output: Exactly one element is not odd Program-2: CPP // C++ program to implement the // above mentioned function #include <bits/stdc++.h> #include <boost/algorithm/cxx11/one_of.hpp> using namespace std; // using boost::algorithm; // Predicate function to check if // the elements are less than 7 or not bool oneLessThanSeven(int i) { return i < 7; } // Drivers code int main() { // Declares the sequence int a[] = { 1, 9, 10, 8 }; // Run the function with first syntax bool ans = boost::algorithm::one_of(a, a + 4, oneLessThanSeven); // Condition to check if (ans == 1) cout << "Exactly one element is less than 7"; else cout << "Exactly one element is not less than 7"; return 0; } Output: Exactly one element is less than 7 Reference: https://www.boost.org/doc/libs/1_70_0/libs/algorithm/doc/html/the_boost_algorithm_library/CXX11/one_of.html Comment More infoAdvertise with us Next Article boost::algorithm::one_of() in C++ library G gopaldave Follow Improve Article Tags : C++ CPP-Functions cpp-boost Practice Tags : CPP Similar Reads boost::algorithm::one_of_equal() in C++ library The one_of_equal() function in C++ boost library is found under the header 'boost/algorithm/cxx11/one_of.hpp' which tests if exactly one of the elements of a sequence against the value passed is same. It takes a sequence and a value, and returns true if the exactly one of the elements are same in th 2 min read boost::algorithm::none_of() in C++ library The none_of() function in C++ boost library is found under the header 'boost/algorithm/cxx11/none_of.hpp' which tests all the elements of a sequence and returns true if all of them do not share a property. It takes a sequence and a predicate, and returns true if the predicate returns false when appl 2 min read boost::algorithm::any_of() in C++ library The any_of() function in C++ boost library is found under the header 'boost/algorithm/cxx11/any_of.hpp' which tests the elements of a sequence and returns true if they any of the elements share the property given. It takes a sequence and a predicate, and returns true if the predicate returns true fo 2 min read boost::algorithm::all_of() in C++ library The all_of() function in C++ boost library is found under the header 'boost/algorithm/cxx11/all_of.hpp' which tests all the elements of a sequence and returns true if they all share a property. It takes a sequence and a predicate, and returns true if the predicate returns true when applied to every 2 min read boost::algorithm::is_sorted() in C++ library The is_sorted() function in C++ boost library is found under the header 'boost/algorithm/cxx11/is_sorted.hpp' which tests if the given sequence is sorted or not according to some given criteria which is specified in the predicate. If no comparison predicate is specified, then std::less is used to se 2 min read Like