Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
set_difference
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 constructs a sorted range that is the set difference of the sorted ranges rng1 and rng2. The return value is the end of the output range.

The ordering relationship is determined by using operator< in the non-predicate versions, and by evaluating pred in the predicate versions.

Definition

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

Requirements

For the non-predicate versions:

For the predicate versions:

Precondition:

For the non-predicate versions:

rng1 and rng2 are sorted in ascending order according to operator<.

For the predicate versions:

rng1 and rng2 are sorted in ascending order according to pred.

Complexity

Linear. O(N), where N is distance(rng1) + distance(rng2).


PrevUpHomeNext