Logical_and<T> 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<T>
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.
[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.