0_0_37749531_30007.cpp:19:103: error: 'std::index_sequence' has not been declared
template<class Tuple, std::size_t... Is> void print_tuple_impl(std::ostream &os, const Tuple &t, std::index_sequence<Is...>) { ((os << (Is == 0? "" : ", ") << std::get<Is>(t)), ...); }
^
0_0_37749531_30007.cpp:19:117: error: expected ',' or '...' before '<' token
template<class Tuple, std::size_t... Is> void print_tuple_impl(std::ostream &os, const Tuple &t, std::index_sequence<Is...>) { ((os << (Is == 0? "" : ", ") << std::get<Is>(t)), ...); }
^
0_0_37749531_30007.cpp: In function 'void print_tuple_impl(std::ostream&, const Tuple&, int)':
0_0_37749531_30007.cpp:19:178: error: expected primary-expression before '...' token
template<class Tuple, std::size_t... Is> void print_tuple_impl(std::ostream &os, const Tuple &t, std::index_sequence<Is...>) { ((os << (Is == 0? "" : ", ") << std::get<Is>(t)), ...); }
^
0_0_37749531_30007.cpp:19:178: error: expected ')' before '...' token
0_0_37749531_30007.cpp:19:182: error: parameter packs not expanded with '...':
template<class Tuple, std::size_t... Is> void print_tuple_impl(std::ostream &os, const Tuple &t, std::index_sequence<Is...>) { ((os << (Is == 0? "" : ", ") << std::get<Is>(t)), ...); }
^
0_0_37749531_30007.cpp:19:182: note: 'Is'
0_0_37749531_30007.cpp: In function 'std::ostream& operator<<(std::ostream&, const std::tuple<_Elements ...>&)':
0_0_37749531_30007.cpp:20:135: error: 'index_sequence_for' is not a member of 'std'
template<class... Args> std::ostream &operator<<(std::ostream &os, const std::tuple<Args...> &t) { os << "("; print_tuple_impl(os, t, std::index_sequence_for<Args...>{}); return os << ")"; }
^
0_0_37749531_30007.cpp:20:163: error: expected primary-expression before '...' token
template<class... Args> std::ostream &operator<<(std::ostream &os, const std::tuple<Args...> &t) { os << "("; print_tuple_impl(os, t, std::index_sequence_for<Args...>{}); return os << ")"; }
^
|