#include <iostream>
#include <list>
#include <utility>
#include <string>
using namespace std;
int main() {
list<pair<string,int>> l0 { { "name1", 20 }, { "name2", 30 }, { "name3", 40 } };
// for( auto &it : l0 )
// l0 . erase( it );
cout << "Containt of the list: "<<endl;
for( auto &my_pair : l0 )
cout <<"\t"<< my_pair.first << ":"<<my_pair.second<<endl;
cout << "Deleting content:"<<endl;
for (auto it=l0.begin(); it!=l0.end(); ) {
cout <<"\t"<< it->first << ":"<<it->second<<"...";
it = l0.erase(it);
cout << "remaining "<<l0.size()<< " - delete succesfull" <<endl;
}
cout << "Size:"<< l0.size();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWxpc3Q8cGFpcjxzdHJpbmcsaW50Pj4gbDAgeyB7ICJuYW1lMSIsIDIwIH0sIHsgIm5hbWUyIiwgMzAgfSwgeyAibmFtZTMiLCA0MCB9IH07Ci8vCWZvciggYXV0byAmaXQgOiBsMCApCi8vICAgIAlsMCAuIGVyYXNlKCBpdCApOwkKCiAgICBjb3V0IDw8ICJDb250YWludCBvZiB0aGUgbGlzdDogIjw8ZW5kbDsKCWZvciggYXV0byAmbXlfcGFpciA6IGwwICkKICAgICAgIGNvdXQgPDwiXHQiPDwgbXlfcGFpci5maXJzdCA8PCAiOiI8PG15X3BhaXIuc2Vjb25kPDxlbmRsOyAKICAKICAgIGNvdXQgPDwgIkRlbGV0aW5nIGNvbnRlbnQ6Ijw8ZW5kbDsgICAgICAKCWZvciAoYXV0byBpdD1sMC5iZWdpbigpOyBpdCE9bDAuZW5kKCk7ICkgewogICAgICAgIGNvdXQgPDwiXHQiPDwgaXQtPmZpcnN0IDw8ICI6Ijw8aXQtPnNlY29uZDw8Ii4uLiI7IAogICAgCWl0ID0gbDAuZXJhc2UoaXQpOyAgCiAgICAJY291dCA8PCAicmVtYWluaW5nICI8PGwwLnNpemUoKTw8ICIgLSBkZWxldGUgc3VjY2VzZnVsbCIgPDxlbmRsOwoJfSAKICAgIGNvdXQgPDwgIlNpemU6Ijw8IGwwLnNpemUoKTsgCgogICAgcmV0dXJuIDA7Cn0=