#include
<algorithm>
Out set_intersection (In first1, In last1, In2 first2, In2 last2, Out result) Out set_intersection (In first1, In last1, In2 first2, In2 last2, Out result, Binary comp) Out set_intersection (Exec pol, In first1, In last1, In2 first2, In2 last2, Out result) Out set_intersection (Exec pol, In first1, In last1, In2 first2, In2 last2, Out result, Binary comp) [last1,last2,res] = ranges::set_intersection (Range1 r1, Range2 r2, Out result, Binary comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {}) [last1,last2,res] = ranges::set_intersection (In first1, In last1, In2 first2, In2 last2, Out result, Binary comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {})
Schreibt den Durchschnitt der beiden sortierten Mengen [first,last) und [first2,last2) sortiert in den Bereich [result,…).
first | Anfang eines Bereiches |
last | Ende eines Bereiches |
first2 | Anfang des zweiten Bereiches |
last2 | Ende des zweiten Bereiches |
result | Anfang der Ergebnismenge |
comp | Vergleichskriterium (Vorgabe = less ) |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
pol | parallele Ausführungsart |
Rückgabewert: Ende der Ergebnismenge bzw. {last1,last2,result_last}
als Struktur mit Elementen namens in1, in2, out
.
#include <algorithm> #include <iterator> #include <iostream> int main() { double a[] = { 2, 4, 6, 8 }; double b[] = { 2, 3, 5, 7 }; std::set_intersection(a, a+4, b, b+4, std::ostream_iterator<double>(std::cout, " ")); }