#include <iostream>
#include <map>
#include <vector>
#include <string>
template<typename MapT>
std::vector<typename MapT::mapped_type> mapToVec(const MapT &_map)
{
std::vector<typename MapT::mapped_type> 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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgoKdGVtcGxhdGU8dHlwZW5hbWUgTWFwVD4Kc3RkOjp2ZWN0b3I8dHlwZW5hbWUgTWFwVDo6bWFwcGVkX3R5cGU+IG1hcFRvVmVjKGNvbnN0IE1hcFQgJl9tYXApCnsKICAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgTWFwVDo6bWFwcGVkX3R5cGU+IHZhbHVlczsKICAgdmFsdWVzLnJlc2VydmUoX21hcC5zaXplKCkpOwogICBmb3IoY29uc3QgYXV0byAmZW50cnkgOiBfbWFwKQogICB7CiAgICAgIHZhbHVlcy5wdXNoX2JhY2soZW50cnkuc2Vjb25kKTsKICAgfQogICByZXR1cm4gdmFsdWVzOwp9CgppbnQgbWFpbigpCnsKCXN0ZDo6bWFwPGludCwgc3RkOjpzdHJpbmc+IG07CgltWzFdID0gIm9uZSI7CgltWzJdID0gInR3byI7CgltWzNdID0gInRocmVlIjsKCQoJYXV0byB2ID0gbWFwVG9WZWMobSk7Cglmb3IoY29uc3QgYXV0byAmZW50cnkgOiB2KSB7CgkJc3RkOjpjb3V0IDw8IGVudHJ5IDw8ICIgIjsKCX0KCglyZXR1cm4gMDsKfQ==