1 /*============================================================================= 2 Copyright (c) 2001-2011 Joel de Guzman 3 4 Distributed under the Boost Software License, Version 1.0. (See accompanying 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 7 This is an auto-generated file. Do not edit! 8 ==============================================================================*/ 9 namespace boost { namespace fusion 10 { 11 struct void_; 12 namespace result_of 13 { 14 template < 15 typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ 16 , typename Extra = void_ 17 > 18 struct make_set; 19 template <> 20 struct make_set<> 21 { 22 typedef set<> type; 23 }; 24 } 25 26 # if defined(BOOST_CLANG) 27 BOOST_CXX14_CONSTEXPR 28 # else 29 BOOST_CONSTEXPR 30 # endif 31 BOOST_FUSION_GPU_ENABLED 32 inline set<> 33 make_set() 34 { 35 return set<>(); 36 } 37 namespace result_of 38 { 39 template <typename T0> 40 struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > 41 { 42 typedef set<typename detail::as_fusion_element<T0>::type> type; 43 }; 44 } 45 template <typename T0> 46 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 47 inline set<typename detail::as_fusion_element<T0>::type> 48 make_set(T0 const& arg0) 49 { 50 return set<typename detail::as_fusion_element<T0>::type>( 51 arg0); 52 } 53 namespace result_of 54 { 55 template <typename T0 , typename T1> 56 struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > 57 { 58 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type; 59 }; 60 } 61 template <typename T0 , typename T1> 62 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 63 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> 64 make_set(T0 const& arg0 , T1 const& arg1) 65 { 66 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>( 67 arg0 , arg1); 68 } 69 namespace result_of 70 { 71 template <typename T0 , typename T1 , typename T2> 72 struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > 73 { 74 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type; 75 }; 76 } 77 template <typename T0 , typename T1 , typename T2> 78 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 79 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> 80 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) 81 { 82 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>( 83 arg0 , arg1 , arg2); 84 } 85 namespace result_of 86 { 87 template <typename T0 , typename T1 , typename T2 , typename T3> 88 struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > 89 { 90 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> type; 91 }; 92 } 93 template <typename T0 , typename T1 , typename T2 , typename T3> 94 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 95 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> 96 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) 97 { 98 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>( 99 arg0 , arg1 , arg2 , arg3); 100 } 101 namespace result_of 102 { 103 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4> 104 struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > 105 { 106 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> type; 107 }; 108 } 109 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4> 110 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 111 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> 112 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) 113 { 114 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>( 115 arg0 , arg1 , arg2 , arg3 , arg4); 116 } 117 namespace result_of 118 { 119 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> 120 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > 121 { 122 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> type; 123 }; 124 } 125 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> 126 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 127 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> 128 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) 129 { 130 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>( 131 arg0 , arg1 , arg2 , arg3 , arg4 , arg5); 132 } 133 namespace result_of 134 { 135 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> 136 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > 137 { 138 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> type; 139 }; 140 } 141 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> 142 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 143 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> 144 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) 145 { 146 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>( 147 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); 148 } 149 namespace result_of 150 { 151 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> 152 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > 153 { 154 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> type; 155 }; 156 } 157 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> 158 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 159 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> 160 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) 161 { 162 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>( 163 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); 164 } 165 namespace result_of 166 { 167 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> 168 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > 169 { 170 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> type; 171 }; 172 } 173 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> 174 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 175 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> 176 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) 177 { 178 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>( 179 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); 180 } 181 namespace result_of 182 { 183 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> 184 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > 185 { 186 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> type; 187 }; 188 } 189 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> 190 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 191 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> 192 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) 193 { 194 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>( 195 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); 196 } 197 }} 198