-, ( ), . , int (*)(int) float (*)(float). , , , .
, , std::function , , . :
template<typename T, typename Ts...>
tuple<Ts...> map(std::function<T (T)> const &f, Ts... args) {
return make_tuple(static_cast<Ts>(f(static_cast<T>(args)))...);
}
., , ( T), ( Ts) , , .
(, , ... , ), , Ts , . , , , ... , , -, , , .