template<
class SinglePassRange1,
class SinglePassRange2,
class OutputIterator
>
OutputIterator set_union(const SinglePassRange1& rng1,
const SinglePassRange2& rng2,
OutputIterator out);
template<
class SinglePassRange1,
class SinglePassRange2,
class OutputIterator,
class BinaryPredicate
>
OutputIterator set_union(const SinglePassRange1& rng1,
const SinglePassRange2& rng2,
OutputIterator out,
BinaryPredicate pred);
set_union конструирует сортированный диапазон, который представляет собой объединение сортированных диапазонов rng1 и rng2. Возвратное значение — это конец выходного диапазона. Соотношение упорядочивания определяется с помощью оператора< в непредикатных версиях и путем оценки 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 сортируются в порядке возрастания согласно оператору<.
For the predicate versions:
rng1 и rng2 сортируются в порядке возрастания согласно pred.
Линейный. O(N), где N distance(rng1)rng2).