cpp/algorithm/partition point

Examines the partitioned (as if by std) range and locates the end of the first partition, that is, the first element that does not satisfy  or  if all elements satisfy.

Return value
The iterator past the end of the first partition within or  if all elements satisfy.

Complexity
Given, performs $O(log N)$ applications of the predicate.

However, for non-s, the number of iterator increments is $O(N)$.