template<class ForwardIterator, class T>
bool binary_search(ForwardIterator first, ForwardIterator last,
const T& value);
template<class ForwardIterator, class T, class Compare>
bool binary_search(ForwardIterator first, ForwardIterator last,
const T& value, Compare comp);
Requires:
The elements
e
of
[first, last)
are partitioned with respect to the expressions
e < value
and
!(value < e)
or
comp(e, value)
and
!comp(value, e). Also, for all elements
e
of
[first, last),
e < value
implies
!(value < e)
or
comp(e, value)
implies
!comp(value, e).Returns:
true
if there is an iterator
i
in the range
[first, last)
that satisfies the corresponding conditions:
!(*i < value) && !(value < *i)
or
comp(*i, value) == false && comp(value, *i) == false. Complexity:
At most
comparisons
.