The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

The partition algorithm arranges elements in the range [First, Last) such that the elements for which Predicate returns true are before the elements for which predicate returns false. The algorithm returns an iterator positioned at the first element for which Predicate returns false.