File indexing completed on 2025-01-18 09:32:32
0001
0002
0003
0004
0005
0006
0007
0008
0009 namespace boost { namespace fusion
0010 {
0011 struct void_;
0012 namespace result_of
0013 {
0014 template <
0015 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_
0016 , typename Extra = void_
0017 >
0018 struct make_set;
0019 template <>
0020 struct make_set<>
0021 {
0022 typedef set<> type;
0023 };
0024 }
0025
0026 # if defined(BOOST_CLANG)
0027 BOOST_CXX14_CONSTEXPR
0028 # else
0029 BOOST_CONSTEXPR
0030 # endif
0031 BOOST_FUSION_GPU_ENABLED
0032 inline set<>
0033 make_set()
0034 {
0035 return set<>();
0036 }
0037 namespace result_of
0038 {
0039 template <typename T0>
0040 struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
0041 {
0042 typedef set<typename detail::as_fusion_element<T0>::type> type;
0043 };
0044 }
0045 template <typename T0>
0046 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0047 inline set<typename detail::as_fusion_element<T0>::type>
0048 make_set(T0 const& arg0)
0049 {
0050 return set<typename detail::as_fusion_element<T0>::type>(
0051 arg0);
0052 }
0053 namespace result_of
0054 {
0055 template <typename T0 , typename T1>
0056 struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
0057 {
0058 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type;
0059 };
0060 }
0061 template <typename T0 , typename T1>
0062 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0063 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
0064 make_set(T0 const& arg0 , T1 const& arg1)
0065 {
0066 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
0067 arg0 , arg1);
0068 }
0069 namespace result_of
0070 {
0071 template <typename T0 , typename T1 , typename T2>
0072 struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
0073 {
0074 typedef set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type;
0075 };
0076 }
0077 template <typename T0 , typename T1 , typename T2>
0078 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0079 inline set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
0080 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2)
0081 {
0082 return set<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
0083 arg0 , arg1 , arg2);
0084 }
0085 namespace result_of
0086 {
0087 template <typename T0 , typename T1 , typename T2 , typename T3>
0088 struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
0089 {
0090 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;
0091 };
0092 }
0093 template <typename T0 , typename T1 , typename T2 , typename T3>
0094 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0095 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>
0096 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3)
0097 {
0098 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>(
0099 arg0 , arg1 , arg2 , arg3);
0100 }
0101 namespace result_of
0102 {
0103 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
0104 struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ >
0105 {
0106 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;
0107 };
0108 }
0109 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
0110 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0111 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>
0112 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4)
0113 {
0114 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>(
0115 arg0 , arg1 , arg2 , arg3 , arg4);
0116 }
0117 namespace result_of
0118 {
0119 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
0120 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ >
0121 {
0122 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;
0123 };
0124 }
0125 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
0126 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0127 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>
0128 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5)
0129 {
0130 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>(
0131 arg0 , arg1 , arg2 , arg3 , arg4 , arg5);
0132 }
0133 namespace result_of
0134 {
0135 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
0136 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ >
0137 {
0138 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;
0139 };
0140 }
0141 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
0142 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0143 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>
0144 make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6)
0145 {
0146 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>(
0147 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6);
0148 }
0149 namespace result_of
0150 {
0151 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
0152 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ >
0153 {
0154 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;
0155 };
0156 }
0157 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
0158 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0159 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>
0160 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)
0161 {
0162 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>(
0163 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7);
0164 }
0165 namespace result_of
0166 {
0167 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
0168 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ >
0169 {
0170 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;
0171 };
0172 }
0173 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
0174 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0175 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>
0176 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)
0177 {
0178 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>(
0179 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8);
0180 }
0181 namespace result_of
0182 {
0183 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
0184 struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ >
0185 {
0186 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;
0187 };
0188 }
0189 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
0190 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0191 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>
0192 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)
0193 {
0194 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>(
0195 arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9);
0196 }
0197 }}