Last active
August 29, 2015 14:24
-
-
Save schiller-manuel/3f38578bb0d0294e814b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| In file included from /tmp/thrust-variadic/thrust/tuple.h:34: | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:66:23: error: no type named 'head_type' in 'thrust::null_type' | |
| typedef typename T::head_type type; | |
| ~~~~~~~~~~~~^~~~~~~~~ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<0, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<1, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<2, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<3, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 3, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:25: error: no type named 'tail_type' in 'thrust::null_type' | |
| typedef typename T::tail_type Next; | |
| ~~~~~~~~~~~~^~~~~~~~~ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<1, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<2, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<3, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<4, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 4, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| In file included from /tmp/thrust-variadic/thrust/tuple.h:34: | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:66:20: error: type 'int' cannot be used prior to '::' because it has no members | |
| typedef typename T::head_type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<0, int>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<1, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<2, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<3, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<4, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 4, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:25: error: no type named 'tail_type' in 'thrust::null_type' | |
| typedef typename T::tail_type Next; | |
| ~~~~~~~~~~~~^~~~~~~~~ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<2, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<3, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<4, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<5, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 5, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:22: error: type 'int' cannot be used prior to '::' because it has no members | |
| typedef typename T::tail_type Next; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<1, int>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<2, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<3, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<4, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<5, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 5, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:25: error: no type named 'tail_type' in 'thrust::null_type' | |
| typedef typename T::tail_type Next; | |
| ~~~~~~~~~~~~^~~~~~~~~ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<3, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<4, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<5, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<6, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 6, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:22: error: type 'int' cannot be used prior to '::' because it has no members | |
| typedef typename T::tail_type Next; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<2, int>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<3, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<4, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<5, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<6, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 6, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:25: error: no type named 'tail_type' in 'thrust::null_type' | |
| typedef typename T::tail_type Next; | |
| ~~~~~~~~~~~~^~~~~~~~~ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<4, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<5, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<6, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<7, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 7, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:22: error: type 'int' cannot be used prior to '::' because it has no members | |
| typedef typename T::tail_type Next; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<3, int>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<4, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<5, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<6, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<7, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 7, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:25: error: no type named 'tail_type' in 'thrust::null_type' | |
| typedef typename T::tail_type Next; | |
| ~~~~~~~~~~~~^~~~~~~~~ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<5, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<6, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<7, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<8, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 8, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:22: error: type 'int' cannot be used prior to '::' because it has no members | |
| typedef typename T::tail_type Next; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<4, int>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<5, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<6, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<7, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<8, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 8, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:25: error: no type named 'tail_type' in 'thrust::null_type' | |
| typedef typename T::tail_type Next; | |
| ~~~~~~~~~~~~^~~~~~~~~ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<6, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<7, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<8, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<9, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 9, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| /tmp/thrust-variadic/thrust/tuple.h:74:22: error: type 'int' cannot be used prior to '::' because it has no members | |
| typedef typename T::tail_type Next; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<5, int>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<6, thrust::null_type>' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<7, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:79:22: note: in instantiation of template class 'thrust::tuple_element<8, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| typedef typename tuple_element<N-1, Next>::type type; | |
| ^ | |
| /tmp/thrust-variadic/thrust/tuple.h:126:28: note: in instantiation of template class 'thrust::tuple_element<9, thrust::detail::cons<int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > > >' requested here | |
| typename tuple_element<N, detail::cons<HT, TT> >::type | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:15: note: while substituting deduced template arguments into function template 'get' [with N = 9, HT = int, TT = thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> >] | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:10: error: no matching function for call to 'test' | |
| return test(thrust::get<Indices>(t)...); | |
| ^~~~ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| thrust_variadic_tuple_test.cpp:26:5: note: candidate function not viable: requires 3 arguments, but 10 were provided | |
| int test(int a, int b, int c) | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| In file included from /tmp/thrust-variadic/thrust/tuple.h:34: | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:48: error: no member named 'tail' in 'thrust::detail::cons<int, thrust::null_type>' | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ~ ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<1>::get<const int &, int, thrust::null_type>' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<2>::get<const int &, int, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:629:10: note: in instantiation of function template specialization 'thrust::detail::get_class<3>::get<const int &, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| get< | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:23: note: in instantiation of function template specialization 'thrust::get<3, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| In file included from /tmp/thrust-variadic/thrust/tuple.h:34: | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:48: error: no member named 'tail' in 'thrust::detail::cons<int, thrust::null_type>' | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ~ ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<2>::get<const int &, int, thrust::null_type>' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<3>::get<const int &, int, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:629:10: note: in instantiation of function template specialization 'thrust::detail::get_class<4>::get<const int &, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| get< | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:23: note: in instantiation of function template specialization 'thrust::get<4, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| In file included from /tmp/thrust-variadic/thrust/tuple.h:34: | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:48: error: no member named 'tail' in 'thrust::detail::cons<int, thrust::null_type>' | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ~ ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<3>::get<const int &, int, thrust::null_type>' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<4>::get<const int &, int, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:629:10: note: in instantiation of function template specialization 'thrust::detail::get_class<5>::get<const int &, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| get< | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:23: note: in instantiation of function template specialization 'thrust::get<5, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| In file included from /tmp/thrust-variadic/thrust/tuple.h:34: | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:48: error: no member named 'tail' in 'thrust::detail::cons<int, thrust::null_type>' | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ~ ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<4>::get<const int &, int, thrust::null_type>' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<5>::get<const int &, int, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:629:10: note: in instantiation of function template specialization 'thrust::detail::get_class<6>::get<const int &, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| get< | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:23: note: in instantiation of function template specialization 'thrust::get<6, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| In file included from thrust_variadic_tuple_test.cpp:2: | |
| In file included from /tmp/thrust-variadic/thrust/tuple.h:34: | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:48: error: no member named 'tail' in 'thrust::detail::cons<int, thrust::null_type>' | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ~ ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<5>::get<const int &, int, thrust::null_type>' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:180:37: note: in instantiation of function template specialization 'thrust::detail::get_class<6>::get<const int &, int, thrust::detail::cons<int, thrust::null_type> >' requested here | |
| return get_class<N-1>::template get<RET>(t.tail); | |
| ^ | |
| /tmp/thrust-variadic/thrust/detail/tuple/tuple.h:629:10: note: in instantiation of function template specialization 'thrust::detail::get_class<7>::get<const int &, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| get< | |
| ^ | |
| thrust_variadic_tuple_test.cpp:43:23: note: in instantiation of function template specialization 'thrust::get<7, int, thrust::detail::cons<int, thrust::detail::cons<int, thrust::null_type> > >' requested here | |
| return test(thrust::get<Indices>(t)...); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:36:10: note: in instantiation of function template specialization 'apply_helper<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9>' requested here | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| ^ | |
| thrust_variadic_tuple_test.cpp:50:16: note: in instantiation of function template specialization 'call_functor<int, int, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>' requested here | |
| std::cout << call_functor(t) << std::endl; | |
| ^ | |
| fatal error: too many errors emitted, stopping now [-ferror-limit=] | |
| 20 errors generated. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <type_traits> | |
| #include <thrust/tuple.h> | |
| #include <tuple> | |
| #include <iostream> | |
| //#define thrust std | |
| template<typename T, T...> | |
| struct integer_sequence | |
| { }; | |
| template<std::size_t... Indices> | |
| struct indices : integer_sequence<std::size_t, Indices...> | |
| { }; | |
| template<std::size_t N, std::size_t... T> | |
| struct build_indices : build_indices<(N - 1), (N - 1), T...> | |
| { }; | |
| template<std::size_t... T> | |
| struct build_indices<0, T...> : indices<T...> | |
| { }; | |
| __host__ __device__ | |
| int test(int a, int b, int c) | |
| { | |
| return a+b+c; | |
| } | |
| template<typename... Args> | |
| __host__ __device__ | |
| int call_test(thrust::tuple<Args...> t) | |
| { | |
| return apply_helper(build_indices<sizeof...(Args)>(), t); | |
| } | |
| template<typename... Args, std::size_t... Indices> | |
| __host__ __device__ | |
| int apply_helper(indices<Indices...>, thrust::tuple<Args...> t) | |
| { | |
| return test(thrust::get<Indices>(t)...); | |
| } | |
| int main() | |
| { | |
| using Tuple = thrust::tuple<int, int, int>; | |
| Tuple t(1,2,3); | |
| std::cout << call_functor(t) << std::endl; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment