#include <iostream>
#include <vector>
#include <algorithm>
struct Wrap
{
int data;
};
Wrap set_data(int a_new_data, Wrap a_wrap)
{
a_wrap.data = a_new_data;
return a_wrap;
}
int main()
{
int a[10] = { 2345, 6345, 3, 243, 24, 234 };
std::vector<Wrap> vw(sizeof(a)/sizeof(a[0]));
std::transform(a, a + 10, vw.begin(), vw.begin(), set_data);
std::cout << vw[0].data << ','
<< vw[1].data << ','
<< vw[5].data << ','
<< vw[9].data << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2luY2x1ZGUgPHZlY3Rvcj4KCiNpbmNsdWRlIDxhbGdvcml0aG0+CgoKCnN0cnVjdCBXcmFwCgp7CgogICAgaW50IGRhdGE7Cgp9OwoKCgpXcmFwIHNldF9kYXRhKGludCBhX25ld19kYXRhLCBXcmFwIGFfd3JhcCkKCnsKCiAgICBhX3dyYXAuZGF0YSA9IGFfbmV3X2RhdGE7CgogICAgcmV0dXJuIGFfd3JhcDsKCn0KCgoKaW50IG1haW4oKQoKewoKICAgIGludCBhWzEwXSA9IHsgMjM0NSwgNjM0NSwgMywgMjQzLCAyNCwgMjM0IH07CgogICAgc3RkOjp2ZWN0b3I8V3JhcD4gdncoc2l6ZW9mKGEpL3NpemVvZihhWzBdKSk7CgoKCiAgICBzdGQ6OnRyYW5zZm9ybShhLCBhICsgMTAsIHZ3LmJlZ2luKCksIHZ3LmJlZ2luKCksIHNldF9kYXRhKTsKCgoKICAgIHN0ZDo6Y291dCA8PCB2d1swXS5kYXRhIDw8ICcsJwoKICAgICAgICAgICAgICA8PCB2d1sxXS5kYXRhIDw8ICcsJwoKICAgICAgICAgICAgICA8PCB2d1s1XS5kYXRhIDw8ICcsJwoKICAgICAgICAgICAgICA8PCB2d1s5XS5kYXRhIDw8ICdcbic7CgogICAgcmV0dXJuIDA7Cgp9Cgo=