Witam, mam problem z set z stl, mianowicie chcę do set dodawać struktury 2 elementowe lub pary, problem w tym, że potrzebuje też niektóre pary usuwać i nie wiem jak użyć do tego funkcji erase by to usuwanie skutecznie zadziałało. Przykładowo mam taki kod:
#include <set>
#include <cstdio>
struct para {
int poczatek;
int koniec;
};
struct comp {
inline bool operator()(const para& a,const para& b) {
if (a.poczatek == b.poczatek) return a.koniec <= b.koniec;
return a.poczatek < b.poczatek;
}
};
int main() {
std::set<para,comp> S;
std::set<para>::iterator it;
para P;
P.poczatek = 10;
P.koniec = 15;
S.insert(P);
P.poczatek = 12;
P.koniec = 17;
S.insert(P);
P.poczatek = 60;
P.koniec = 25;
S.insert(P);
//?
W jaki sposób usunąć konkretną strukture np o wartości 12 17 nie przeglądając iteratorem całego słownika?