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.
bool one_of ( InputIterator first, InputIterator last, Predicate p )
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:
Exactly one element is not odd
Exactly one element is less than 7