488____________________Часть III. Современное программирование на C++

template <ciass Inputlteratorl, class Inputlterator2,

class Compare> bool includes (Inputlteratorl firsti, Inputlteratorl lasti,

Inputlterator2 first2, Inputlterator2 last2,

Compare comp);

set_union. Объединяет две упорядоченные последовательности [firsti, lasti) и [first2, last2) в единую последовательность, начинающуюся со значения result. Если элементы двух последовательностей совпадают, копируется последовательность, содержащая наибольшее число совпадающих элементов. Возвращается указатель, на элемент, следующий за последним в выходной последовательности.

template <class Inputlteratorl, class Inputlterator2,

class Outputlterator> Outputlterator set_union (Inputlteratorl firsti, '

Inputlteratorl lasti,

Inputlterator2 first2,

Inputlterator2 last2,

Outputlterator result) ;

template <class Inputlteratorl, class Inputlterator2,

class Outputlterator, class Compare> Outputlterator set_union (Inputlteratorl firsti,

Inputlteratorl lasti,

Inputlterator2 first2,

Inputlterator2 last2,

Outputlterator result. Compare comp);

setJntersection. Этот алгоритм противоположен по действию set_union. Две упорядоченные последовательности [firsti, lasti) и [first2, last2) сливаются в одну, при этом, если в обеих последовательностях находятся подпоследовательности с одинаковыми элементами, копируется подпоследовательность с наименьшей длиной. Возвращается указатель, на элемент, следующий за последним в выходной последовательности.

template <class Inputlteratorl, class Inputlterator2, class OutputIterator> Outputlterator set_intersection (Inputlteratorl firsti,

Inputlteratorl lasti,

Inputlterator2 first2,

Inputlterator2 last2,

Outputlterator result);

template <class Inputlteratorl, class Inputlterator2,

class Outputlterator,

class Compare> Outputlterator set_intersection (Inputlteratorl firsti, Inputlteratorl lasti,