#include <iostream>
#include <map>
#include <vector>
#include <string>
template<typename KeyT, typename ValueT>
std::vector<ValueT> mapToVec(const std::map<KeyT, ValueT> &_map)
{
std::vector<ValueT> values;
values.reserve(_map.size());
for(const auto &entry : _map)
{
values.push_back(entry.second);
}
return values;
}
int main()
{
std::map<int, std::string> m;
m[1] = "one";
m[2] = "two";
m[3] = "three";
auto v = mapToVec(m);
for(const auto &entry : v) {
std::cout << entry << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgoKdGVtcGxhdGU8dHlwZW5hbWUgS2V5VCwgdHlwZW5hbWUgVmFsdWVUPgpzdGQ6OnZlY3RvcjxWYWx1ZVQ+IG1hcFRvVmVjKGNvbnN0IHN0ZDo6bWFwPEtleVQsIFZhbHVlVD4gJl9tYXApCnsKICAgc3RkOjp2ZWN0b3I8VmFsdWVUPiB2YWx1ZXM7CiAgIHZhbHVlcy5yZXNlcnZlKF9tYXAuc2l6ZSgpKTsKICAgZm9yKGNvbnN0IGF1dG8gJmVudHJ5IDogX21hcCkKICAgewogICAgICB2YWx1ZXMucHVzaF9iYWNrKGVudHJ5LnNlY29uZCk7CiAgIH0KICAgcmV0dXJuIHZhbHVlczsKfQoKaW50IG1haW4oKQp7CglzdGQ6Om1hcDxpbnQsIHN0ZDo6c3RyaW5nPiBtOwoJbVsxXSA9ICJvbmUiOwoJbVsyXSA9ICJ0d28iOwoJbVszXSA9ICJ0aHJlZSI7CgkKCWF1dG8gdiA9IG1hcFRvVmVjKG0pOwoJZm9yKGNvbnN0IGF1dG8gJmVudHJ5IDogdikgewoJCXN0ZDo6Y291dCA8PCBlbnRyeSA8PCAiICI7Cgl9CgoJcmV0dXJuIDA7Cn0=