|  | Home | Libraries | People | FAQ | More | 
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
            constructs a sorted range that is the set symmetric 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.
          
            Defined in the header file boost/range/algorithm/set_algorithm.hpp
          
For the non-predicate versions:
SinglePassRange1
                is a model of the Single
                Pass Range Concept.
              SinglePassRange2
                is a model of the Single
                Pass Range Concept.
              OutputIterator is
                a model of the OutputIteratorConcept.
              SinglePassRange1
                and SinglePassRange2
                have the same value type.
              SinglePassRange1's
                value type is a model of the LessThanComparableConcept.
              SinglePassRange2's
                value type is a model of the LessThanComparableConcept.
              SinglePassRange1's
                value type is a strict weak ordering,
                as defined in the LessThanComparableConcept
                requirements.
              SinglePassRange2's
                value type is a strict weak ordering,
                as defined in the LessThanComparableConcept
                requirements.
              For the predicate versions:
SinglePassRange1
                is a model of the Single
                Pass Range Concept.
              SinglePassRange2
                is a model of the Single
                Pass Range Concept.
              OutputIterator is
                a model of the OutputIteratorConcept.
              SinglePassRange1
                and SinglePassRange2
                have the same value type.
              BinaryPredicate is
                a model of the StrictWeakOrderingConcept.
              SinglePassRange1's
                value type is convertible to BinaryPredicate's
                first argument type.
              SinglePassRange2's
                value type is convertible to BinaryPredicate's
                second argument types.
              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.
          
            Linear. O(N),
            where N is distance(rng1) + distance(rng2).