cpp/algorithm/ranges/partition point

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

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

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

However, if sentinels don't model, the number of iterator increments is $O(N)$.