On 8 Sep 2011, at 18:34, Paolo Carlini wrote: > On 09/07/2011 07:44 AM, Daniel Krügler wrote: >> Is tuple_cat now considered conforming? >> No, see: >> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50159 > By the way, Daniel, I was considering giving that issue a try, if you have > tips (or even more ;) about the implementation of the C++11 conforming > tuple_cat, I'm all ears…
This might be totally insane, but I believe that: tuple_cat(tuple_cat(A,B), C) always equivalent to tuple_cat(A,B,C); Therefore, how close would something like (warning, not even compiled) template<class _Tuple1, class _Tuple2, class… _Tuples> auto tuple_cat(_Tuple1&& __t1, _Tuple2&& __t2, _Tuples&&… __tuples) -> tuple_cat(tuple_cat(std::forward<_Tuple1>(__t1), std::forward<_Tuple2>(__t2)), std::forward<_Tuples&&>(__tuples)…) { tuple_cat(tuple_cat(std::forward<_Tuple1>(__t1), std::forward<_Tuple2>(__t2)), std::forward<_Tuples&&>(__tuples)…); } I imagine that first return type unfortunately isn't valid, but it shouldn't be hard to glue together the list of template arguments. Chris