list_to_cons10.hpp 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /*=============================================================================
  2. Copyright (c) 2001-2011 Joel de Guzman
  3. Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. This is an auto-generated file. Do not edit!
  6. ==============================================================================*/
  7. namespace boost { namespace fusion { namespace detail
  8. {
  9. template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
  10. struct list_to_cons
  11. {
  12. typedef T0 head_type;
  13. typedef list_to_cons<
  14. T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9, void_>
  15. tail_list_to_cons;
  16. typedef typename tail_list_to_cons::type tail_type;
  17. typedef cons<head_type, tail_type> type;
  18. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  19. static type
  20. call(typename detail::call_param<T0 >::type arg0)
  21. {
  22. return type(arg0
  23. );
  24. }
  25. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  26. static type
  27. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
  28. {
  29. return type(arg0
  30. , tail_list_to_cons::call(arg1));
  31. }
  32. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  33. static type
  34. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
  35. {
  36. return type(arg0
  37. , tail_list_to_cons::call(arg1 , arg2));
  38. }
  39. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  40. static type
  41. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
  42. {
  43. return type(arg0
  44. , tail_list_to_cons::call(arg1 , arg2 , arg3));
  45. }
  46. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  47. static type
  48. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
  49. {
  50. return type(arg0
  51. , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4));
  52. }
  53. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  54. static type
  55. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
  56. {
  57. return type(arg0
  58. , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5));
  59. }
  60. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  61. static type
  62. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
  63. {
  64. return type(arg0
  65. , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6));
  66. }
  67. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  68. static type
  69. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
  70. {
  71. return type(arg0
  72. , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7));
  73. }
  74. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  75. static type
  76. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
  77. {
  78. return type(arg0
  79. , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8));
  80. }
  81. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  82. static type
  83. call(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
  84. {
  85. return type(arg0
  86. , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9));
  87. }
  88. };
  89. template <>
  90. struct list_to_cons<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
  91. {
  92. typedef nil_ type;
  93. };
  94. }}}