This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [v3] constexpr tuple
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