In C++17 you can do this:
std::apply([](auto ...x){std::make_tuple(some_function(x)...);} , the_tuple);
given that some_function has suitable overloads for all the types in the tuple.
This already works in Clang++ 3.9, using std::experimental::apply.