#include <iostream>
#include <algorithm>
#include <functional>
template<typename T>
void tripleElements(T& container)
{
typedef decltype(*std::begin(container)) value_type;
typedef typename std::remove_reference<value_type>::type value_type_decayed;
std::transform(std::begin(container), std::end(container),std::begin(container),
std::bind(std::multiplies<value_type_decayed>{}, std::placeholders::_1, 3));
}
int main()
{
int t[] = { 3, 4, 5 };
tripleElements(t);
for(auto e : t)
std::cout << e << " ";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnZvaWQgdHJpcGxlRWxlbWVudHMoVCYgY29udGFpbmVyKQp7Cgl0eXBlZGVmIGRlY2x0eXBlKCpzdGQ6OmJlZ2luKGNvbnRhaW5lcikpIHZhbHVlX3R5cGU7Cgl0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTx2YWx1ZV90eXBlPjo6dHlwZSB2YWx1ZV90eXBlX2RlY2F5ZWQ7CgoJc3RkOjp0cmFuc2Zvcm0oc3RkOjpiZWdpbihjb250YWluZXIpLCBzdGQ6OmVuZChjb250YWluZXIpLHN0ZDo6YmVnaW4oY29udGFpbmVyKSwKCQkJCSAgc3RkOjpiaW5kKHN0ZDo6bXVsdGlwbGllczx2YWx1ZV90eXBlX2RlY2F5ZWQ+e30sIHN0ZDo6cGxhY2Vob2xkZXJzOjpfMSwgMykpOwp9CgppbnQgbWFpbigpCnsKCWludCB0W10gPSB7IDMsIDQsIDUgfTsKCXRyaXBsZUVsZW1lbnRzKHQpOwoKCWZvcihhdXRvIGUgOiB0KQoJCXN0ZDo6Y291dCA8PCBlIDw8ICIgIjsKCglyZXR1cm4gMDsKfQo=