C++ algorithm find_if_not() function
Example
Find a value that is NOT greater than 5 in a vector:
bool greater_than_5(int value) {
return value > 5;
}
int main() {
vector<int> numbers = {1, 7, 3, 5, 9, 2};
auto it = find_if_not(numbers.begin(), numbers.end(), greater_than_5);
if (it != numbers.end()) {
cout << "The number " << *it << " is not greater than 5.";
} else {
cout << "All numbers are greater than 5.";
}
return 0;
}
Try it Yourself »
Definition and Usage
The find_if_not()
function returns an iterator pointing to the first value in a data range which does not match a specified condition. If all of the values match the condition then it returns the iterator pointing to the end of the data range.
The range of data is specified by iterators.
The condition is specified by a function that takes the value of an element as an argument and returns a boolean value which is 1 if the condition is matched and 0 if the condition is not matched.
Syntax
find_if_not(iterator start, iterator end, function condition);
Parameter Values
Parameter | Description |
---|---|
start | Required. An iterator pointing to the start of the data range being searched. |
end | Required. An iterator pointing to the end of the data range being searched. Elements up to this position will be searched, but the element at this position will not be included. |
condition | Required. A function that takes the value of an element in the data range as an argument and returns a boolean value. |
Technical Details
Returns: | An iterator pointing to the first value in the data range that does not match the specified condition, or the end of the data range if all of the values match the condition. |
---|
Related Pages
Read more about data structures in our Data Structures Tutorial.
Read more about iterators in our Iterators Tutorial.
Read more about algorithms in our Algorithms Tutorial.
Read more about booleans in our Booleans Tutorial.