#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;

}

