Previous fileTop of DocumentContentsIndex pageNext file
Apache C++ Standard Library Reference Guide

set_intersection()

Library:  Algorithms


Function

Local Index

No Entries

Summary

A basic set operation (algorithm) for constructing a sorted intersection

Synopsis

#include <algorithm>

namespace std {
  template <class InputIterator1, class InputIterator2, 
            class OutputIterator>
  OutputIterator  
  set_intersection(InputIterator1 start1, 
                   InputIterator1 finish1,
                   InputIterator2 start2, 
                   InputIterator2 finish2,
                   OutputIterator result);
  template <class InputIterator1, class InputIterator2, 
            class OutputIterator, class Compare>
  OutputIterator  
  set_intersection(InputIterator1 start1, 
                   InputIterator1 finish1,
                   InputIterator2 start2, 
                   InputIterator2 finish2, 
                   OutputIterator result, 
                   Compare comp);
}

Description

The set_intersection() algorithm constructs a sorted intersection of elements from the two ranges. It returns the end of the constructed range. When it finds an element present in both ranges, set_intersection() always copies the element from the first range into result. This means that the result of set_intersection() is guaranteed to be stable. The result of set_intersection() is undefined if the result range overlaps with either of the original ranges.

set_intersection() assumes that the ranges are sorted using operator<(), unless an alternative comparison function object (comp) is provided.

Complexity

At most ((finish1 - start1) + (finish2 - start2)) * 2 -1 comparisons are performed.

Example

See Also

includes(), Iterators, set_union(), set_difference(), set_symmetric_difference()

Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, 25.3.5.3



Previous fileTop of DocumentContentsIndex pageNext file