See also
The function object overview, Adaptable Binary Predicate, equal_to , not_equal_to , greater , less , greater_equal
Category: functors
Component type: type
Description
Greater_equal is a function object. Specifically, it is an Adaptable Binary Predicate, which means it is a function object that tests the truth or falsehood of some condition. If f is an object of class greater_equal and x and y are objects of class T , then f(x,y) returns true if x >= y and false otherwise.
Example
Find the first nonnegative element in a list.
list L;
…
list::iterator first_nonnegative = find_if(L.begin(), L.end(), bind2nd(greater_equal(), 0));
assert(first_nonnegative == L.end() || *first_nonnegative >= 0);
Definition
Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h.
Template parameters
Parameter |
Description |
T |
The type of greater_equal 's arguments. |
Model of
Adaptable Binary Predicate, DefaultConstructible
Type requirements
T is LessThan Comparable.
Public base classes
binary_function.
Members
Member |
Where defined |
Description |
first_argument_type |
Adaptable Binary Predicate |
The type of the first argument: T |
second_argument_type |
Adaptable Binary Predicate |
The type of the second argument: T |
result_type |
Adaptable Binary Predicate |
The type of the result: bool |
greater_equal() |
DefaultConstructible |
The default constructor. |
bool operator()(const T& x, const T& y) |
Binary Function |
Function call operator. The return value is x >= y . |
New members
All of greater_equal 's members are defined in the Adaptable Binary Predicate and DefaultConstructible requirements. Greater_equal does not introduce any new members.
See also
The function object overview, Adaptable Binary Predicate, equal_to , not_equal_to , greater less , less_equal
Category: functors
Component type: type
Description
Logical_and is a function object; specifically, it is an Adaptable Binary Predicate, which means it is a function object that tests the truth or falsehood of some condition. If f is an object of class logical_and and x and y are objects of class T (where T is convertible to bool ) then f(x,y) returns true if and only if both x and y are true . [1]
Example
Finds the first element in a list that lies in the range from 1 to 10.
list L;
…
list::iterator in_range = find_if(L.begin(), L.end(), compose2(logical_and(), bind2nd(greater_equal(), 1), bind2nd(less_equal(), 10)));
assert(in_range == L.end() || (*in_range >= 1 && *in_range <= 10));
Definition
Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h.
Template parameters
Parameter |
Description |
T |
The type of logical_and 's arguments |
Model of
Adaptable Binary Predicate, DefaultConstructible
Type requirements
T must be convertible to bool .
Public base classes
binary_function
Members
Member |
Where defined |
Description |
first_argument_type |
Adaptable Binary Function |
The type of the first argument: T |
second_argument_type |
Adaptable Binary Function |
The type of the second argument: T |
result_type |
Adaptable Binary Function |
The type of the result: bool |
bool operator()(const T& x, const T& y) const |
Binary Function |
Function call operator. The return value is x && y . |
logical_and() |
Default Constructible |
The default constructor. |
New members
All of logical_and 's members are defined in the Adaptable Binary Function and Default Constructible requirements. Logical_and does not introduce any new members.
Notes
[1] Logical_and and logical_or are not very useful by themselves. They are mainly useful because, when combined with the function object adaptor binary_compose , they perform logical operations on other function objects.
See also
The function object overview, logical_or , logical_not .
Category: functors
Component type: type
Description
Logical_or is a function object; specifically, it is an Adaptable Binary Predicate, which means it is a function object that tests the truth or falsehood of some condition. If f is an object of class logical_and and x and y are objects of class T (where T is convertible to bool ) then f(x,y) returns true if and only if either x or y is true . [1]
Example
Finds the first instance of either ' ' or '\n' in a string.
char str[MAXLEN];
…
const char* wptr = find_if(str, str + MAXLEN, compose2(logical_or(), bind2nd(equal_to(), ' '), bind2nd(equal_to(), '\n')));
assert(wptr == str + MAXLEN || *wptr == ' ' || *wptr == '\n');
Definition
Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h.
Template parameters
Parameter |
Description |
T |
The type of logical_or 's arguments |
Model of
Adaptable Binary Predicate, DefaultConstructible
Type requirements
T must be convertible to bool .
Читать дальше