#include <iostream>
#include <vector>
using namespace std;
void say(vector<string> _vec, string prefix = "") {
cout << prefix;
if (!prefix.empty()) cout << " ";
cout << "vector<string> =";
for (auto & i : _vec) { cout << " " << i; }
cout << endl;
}
int main() {
vector<string> foo{"a", "b", "c", "d", "e"};
say(foo);
cout << *(foo.begin());
cout << *(foo.end()-1);
cout << endl;
foo.erase(foo.begin()+1);
say(foo);
vector<string> mappings_{"a", "b", "c", "d", "e"};
auto it = mappings_.begin();
while ( it != mappings_.end() ) {
auto map = *it;
if ( map == "b" || map == "c" || map == "d" ) {
it = mappings_.erase(it);
cout << "mappings: "; for (auto & m : mappings_) { cout << m; } cout << endl;
} else {
++it;
}
}
say(mappings_, "mappings");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc2F5KHZlY3RvcjxzdHJpbmc+IF92ZWMsIHN0cmluZyBwcmVmaXggPSAiIikgewoJY291dCA8PCBwcmVmaXg7CglpZiAoIXByZWZpeC5lbXB0eSgpKSBjb3V0IDw8ICIgIjsKCWNvdXQgPDwgInZlY3RvcjxzdHJpbmc+ID0iOwoJZm9yIChhdXRvICYgaSA6IF92ZWMpIHsgY291dCA8PCAiICIgPDwgaTsgfQoJY291dCA8PCBlbmRsOwp9CgoKaW50IG1haW4oKSB7Cgl2ZWN0b3I8c3RyaW5nPiBmb297ImEiLCAiYiIsICJjIiwgImQiLCAiZSJ9OwoJc2F5KGZvbyk7Cgljb3V0IDw8ICooZm9vLmJlZ2luKCkpOwoJY291dCA8PCAqKGZvby5lbmQoKS0xKTsKCWNvdXQgPDwgZW5kbDsJCgogICAgZm9vLmVyYXNlKGZvby5iZWdpbigpKzEpOwogICAgc2F5KGZvbyk7CiAgICAKICAgIHZlY3RvcjxzdHJpbmc+IG1hcHBpbmdzX3siYSIsICJiIiwgImMiLCAiZCIsICJlIn07CiAgICBhdXRvIGl0ID0gbWFwcGluZ3NfLmJlZ2luKCk7CiAgICB3aGlsZSAoIGl0ICE9IG1hcHBpbmdzXy5lbmQoKSApIHsKICAgICAgICBhdXRvIG1hcCA9ICppdDsKICAgICAgICBpZiAoIG1hcCA9PSAiYiIgfHwgbWFwID09ICJjIiB8fCBtYXAgPT0gImQiICkgewogICAgICAgICAgICBpdCA9IG1hcHBpbmdzXy5lcmFzZShpdCk7CiAgICAgICAgICAgIGNvdXQgPDwgIm1hcHBpbmdzOiAiOyBmb3IgKGF1dG8gJiBtIDogbWFwcGluZ3NfKSB7IGNvdXQgPDwgbTsgfSBjb3V0IDw8IGVuZGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgKytpdDsKICAgICAgICB9CiAgICB9CiAgICBzYXkobWFwcGluZ3NfLCAibWFwcGluZ3MiKTsKICAgIAoJcmV0dXJuIDA7Cn0=