fork(1) download
  1. #include <tuple>
  2. #include <iostream>
  3.  
  4. struct Fixture
  5. {
  6. template <typename T>
  7. struct Unpack
  8. {
  9. static T value;
  10. };
  11.  
  12. template <typename... T>
  13. struct Y
  14. {
  15. Y()
  16. :
  17. tup(Unpack<T>::value...)
  18. {
  19. }
  20.  
  21. std::tuple<T...> tup;
  22. };
  23.  
  24. Y<int, double, int> y;
  25. };
  26.  
  27. template<typename T>
  28. T Fixture::Unpack<T>::value{};
  29.  
  30. int main() {
  31. std::cin >> Fixture::Unpack<int>::value >> Fixture::Unpack<double>::value;
  32. Fixture f;
  33. std::cout << std::get<0>(f.y.tup) << " " << std::get<1>(f.y.tup);
  34. }
Success #stdin #stdout 0s 3232KB
stdin
42 3.1415
stdout
42 3.1415