28 Algorithms library [algorithms]

28.7 Sorting and related operations [alg.sorting]

28.7.6 Set operations on sorted structures [alg.set.operations]

28.7.6.5 set_­symmetric_­difference [set.symmetric.difference]

template<class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result); template<class ExecutionPolicy, class ForwardIterator1, class ForwardIterator2, class ForwardIterator> ForwardIterator set_symmetric_difference(ExecutionPolicy&& exec, ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, ForwardIterator result); template<class InputIterator1, class InputIterator2, class OutputIterator, class Compare> OutputIterator set_symmetric_difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp); template<class ExecutionPolicy, class ForwardIterator1, class ForwardIterator2, class ForwardIterator, class Compare> ForwardIterator set_symmetric_difference(ExecutionPolicy&& exec, ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, ForwardIterator result, Compare comp);

Requires: Результирующий диапазон не должен перекрываться ни с одним из исходных диапазонов.

Effects: Копирует элементы диапазона [first1, last1) , отсутствующие в диапазоне [first2, last2), и элементы диапазона [first2, last2) , отсутствующие в диапазоне, [first1, last1) в диапазон, начинающийся с result. Элементы в построенном диапазоне сортируются.

Returns: Конец построенного диапазона.

Complexity: Максимум 2 * ((last1 - first1) + (last2 - first2)) - 1 сравнений.

Remarks: Если [first1, last1) содержит m элементы, которые эквивалентны друг другу и [first2, last2) содержит n элементы, которые приравненных к ним, то |mn| из этих элементов должны быть скопированы в выходной диапазон: последний mn из этих элементов от [first1, last1) если m>n, и последний nm из этих элементов , [first2, last2) если m<n.