Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

set_difference

Boost , Chapter 1. Range 2.0 , Set algorithms

Boost C++ LibrariesHomeLibrariesPeopleFAQMore

PrevUpHomeNext
Prototype

template<
    class SinglePassRange1,
    class SinglePassRange2,
    class OutputIterator
    >
OutputIterator set_difference(const SinglePassRange1& rng1,
                              const SinglePassRange2& rng2,
                              OutputIterator          out);
template<
    class SinglePassRange1,
    class SinglePassRange2,
    class OutputIterator,
    class BinaryPredicate
    >
OutputIterator set_difference(const SinglePassRange1& rng1,
                              const SinglePassRange2& rng2,
                              OutputIterator          out,
                              BinaryPredicate         pred);

Description

<set_difference>строит отсортированный диапазон, который является заданной разницей отсортированных диапазонов<rng1>и<rng2>. Возвратное значение — это конец выходного диапазона.

Соотношение упорядочивания определяется использованием<operator<>в непредикатных версиях и оценкой<pred>в предикатных версиях.

Definition

Defined in the header file boost/range/algorithm/set_algorithm.hpp

Requirements

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>.
Precondition:

For the non-predicate versions:

<rng1>и<rng2>сортируются в порядке возрастания согласно<operator<>.

For the predicate versions:

<rng1>и<rng2>сортируются в порядке возрастания согласно<pred>.

Complexity

<O(N)>, где<N>—<distance(rng1)+distance(rng2)>.


PrevUpHomeNext

Статья set_difference раздела Chapter 1. Range 2.0 Set algorithms может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Set algorithms ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:46:12/0.007943868637085/1