Справочник по C/C++
set_difference()

template <class InIter1, class InIter2, class OutIter>
	OutIter set_difference(InIter1 start1, InIter1 end1,
			InIter2 starts, InIter2 end2, OutIter result);
template <class InIter1, class InIter2, class OutIter, class Comp>
	OutIter set_difference(InIter1 start1, InIter1 end1,
			InIter2 start2, InIter2 end2, OutIter result, Comp cmpfn);

Описание

Создает последовательность, которая содержит разность между двумя упорядоченными множествами

Алгоритм set_difference() создает последовательность, которая содержит разность между двумя упорядоченными множествами, определяемыми параметрами start1, end1 и start2, end2, т.е. множество, задаваемое параметрами starts, endS, вычитается из множества, задаваемого параметрами start1, end1. Результат упорядочивается и помещается в последовательность, адресуемую параметром result. Алгоритм возвращает итератор, указывающий на конец результата.

Вторая форма позволяет задать функцию сравнения, которая определяет, когда один элемент меньше другого,