template<
class SinglePassRange1,
class SinglePassRange2,
class OutputIterator
>
OutputIterator
set_symmetric_difference(const SinglePassRange1& rng1,
const SinglePassRange2& rng2,
OutputIterator out);
template<
class SinglePassRange1,
class SinglePassRange2,
class OutputIterator,
class BinaryPredicate
>
OutputIterator
set_symmetric_difference(const SinglePassRange1& rng1,
const SinglePassRange2& rng2,
OutputIterator out,
BinaryPredicate pred);
<set_symmetric_difference>конструирует отсортированный диапазон, который представляет собой установленную симметричную разницу отсортированных диапазонов<rng1>и<rng2>. Возвратное значение — это конец выходного диапазона.
Соотношение упорядочивания определяется использованием<operator<>в непредикатных версиях и оценкой<pred>в предикатных версиях.
Defined in the header file boost/range/algorithm/set_algorithm.hpp
For the non-predicate versions:
- <
SinglePassRange1>является модельюSingle Pass RangeКонцепт. - <
SinglePassRange2>является модельюSingle Pass RangeКонцепт. - <
OutputIterator>является образцом<OutputIteratorConcept>. - <
SinglePassRange1>и<SinglePassRange2>имеют одинаковые значения. - <
SinglePassRange1>Тип значения является моделью<LessThanComparableConcept>. - <
SinglePassRange2>Тип значения является моделью<LessThanComparableConcept>. - Упорядочение объектов типа<
SinglePassRange1>по типу значения составляетстрогое слабое упорядочение, как определено в<LessThanComparableConcept>требованиях. - Упорядочение объектов типа<
SinglePassRange2>по типу значения являетсястрогим слабым упорядочением, как определено в<LessThanComparableConcept>требованиях.
For the predicate versions:
- <
SinglePassRange1>является модельюSingle Pass RangeКонцепт. - <
SinglePassRange2>является модельюSingle Pass RangeКонцепт. - <
OutputIterator>является образцом<OutputIteratorConcept>. - <
SinglePassRange1>и<SinglePassRange2>имеют одинаковые значения. - <
BinaryPredicate>является образцом<StrictWeakOrderingConcept>. - <
SinglePassRange1>Тип значения конвертируется в<BinaryPredicate>первый тип аргумента. - <
SinglePassRange2>Тип значения преобразуется во второй тип аргумента<BinaryPredicate>.
For the non-predicate versions:
<rng1>и<rng2>сортируются в порядке возрастания согласно<operator<>.
For the predicate versions:
<rng1>и<rng2>сортируются в порядке возрастания согласно<pred>.
<O(N)>, где<N>—<distance(rng1)+distance(rng2)>.