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

The merge algorithm merges two sorted sequences: [First1..Last1) and [First2..Last2) into a single sorted sequence starting at Result. This version assumes that the ranges [First1..Last1) and [First2..Last2) are sorted using the compare function. If both ranges contain equal values, the value from the first range will be stored first. The result of merging overlapping ranges is undefined.