#include <memory>
#include <map>
std::map<int, std::unique_ptr<int> > mapCreator ()
{
std::map<int, std::unique_ptr<int> > smallMap;
for (int i = 0; i < 10; i++) {
std::unique_ptr<int> ptr(new int(10));
smallMap.emplace(i, std::move(ptr));
}
return smallMap;
};
class mapContainer
{
public:
mapContainer(std::map<int, std::unique_ptr<int> > smallMap) :
smallMap_(std::move(smallMap))
{
}
private:
const std::map<int, std::unique_ptr<int> > smallMap_;
};
int main()
{
mapContainer container(mapCreator());
return 0;
}
I2luY2x1ZGUgPG1lbW9yeT4KI2luY2x1ZGUgPG1hcD4KCnN0ZDo6bWFwPGludCwgc3RkOjp1bmlxdWVfcHRyPGludD4gPiBtYXBDcmVhdG9yICgpCnsKICAgIHN0ZDo6bWFwPGludCwgc3RkOjp1bmlxdWVfcHRyPGludD4gPiBzbWFsbE1hcDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykgewogICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxpbnQ+IHB0cihuZXcgaW50KDEwKSk7CiAgICAgICAgc21hbGxNYXAuZW1wbGFjZShpLCBzdGQ6Om1vdmUocHRyKSk7CiAgICB9CiAgICByZXR1cm4gc21hbGxNYXA7Cn07CgpjbGFzcyBtYXBDb250YWluZXIKewpwdWJsaWM6CiAgICBtYXBDb250YWluZXIoc3RkOjptYXA8aW50LCBzdGQ6OnVuaXF1ZV9wdHI8aW50PiA+IHNtYWxsTWFwKSA6CiAgICAgICAgc21hbGxNYXBfKHN0ZDo6bW92ZShzbWFsbE1hcCkpCiAgICB7CiAgICB9CnByaXZhdGU6CiAgICBjb25zdCBzdGQ6Om1hcDxpbnQsIHN0ZDo6dW5pcXVlX3B0cjxpbnQ+ID4gc21hbGxNYXBfOwp9OwoKaW50IG1haW4oKQp7CiAgICBtYXBDb250YWluZXIgY29udGFpbmVyKG1hcENyZWF0b3IoKSk7CgogICAgcmV0dXJuIDA7Cn0K