fork download
  1. #include <iostream>
  2. #include <tuple>
  3.  
  4. template<typename... Args>
  5. auto tuple_from_funs(Args&&... args) -> std::tuple<decltype(args())...>{
  6. return std::make_tuple(args()...);
  7. }
  8.  
  9. int f() { return 1; }
  10. char g() { return '2'; }
  11. std::string h() { return "jorge"; }
  12.  
  13. int main() {
  14. auto tup = tuple_from_funs(f, g, h);
  15. std::cout << std::get<0>(tup) << ", " << std::get<1>(tup) << ", " << std::get<2>(tup) << std::endl;
  16. }
  17.  
Success #stdin #stdout 0s 3028KB
stdin
Standard input is empty
stdout
1, 2, jorge