fork download
  1. #include <iostream>
  2. #include <tuple>
  3. #include <typeinfo>
  4.  
  5. template <typename Tuple, typename Sequence> class Class;
  6.  
  7. template <typename ...Ts, std::size_t ...Is>
  8. class Class<std::tuple<Ts...>, std::index_sequence<Is...>>
  9. {
  10. public:
  11. void do_stuff_with_list_1()
  12. {
  13. int dummy[] = {0, ((std::cout << " " << typeid(Ts).name()), 0)...};
  14. (void) dummy;
  15. std::cout << std::endl;
  16. }
  17.  
  18. void do_stuff_with_list_2()
  19. {
  20. int dummy[] = {0, ((std::cout << " " << Is), 0)...};
  21. (void) dummy;
  22. std::cout << std::endl;
  23. }
  24.  
  25. };
  26.  
  27. int main()
  28. {
  29. Class<std::tuple<int, char, std::string>, std::index_sequence<4, 8, 15, 16, 23, 42>> c;
  30.  
  31. c.do_stuff_with_list_1();
  32. c.do_stuff_with_list_2();
  33. }
Success #stdin #stdout 0s 3412KB
stdin
Standard input is empty
stdout
 i c Ss
 4 8 15 16 23 42