class OutputIterator>
2: OutputIterator set_difference (InputIterator1 first1, InputIterator1 last1,
3: InputIterator2 first2, InputIterator2 last2,
4: OutputIterator result)
5: {
while (first1!=last1 && first2!=last2)
7: {
if (*first1<*first2)
9: {
10: *result = *first1;
11: ++result;
12: ++first1;
13: }
if (*first2<*first1)
15: {
16: ++first2;
17: }
else
19: {
20: ++first1;
21: ++first2;
22: }
23: }
return std::copy(first1,last1,result);
25: }