File indexing completed on 2025-01-18 09:50:23
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 template<typename Tag , typename A0 , typename A1>
0011 BOOST_FORCEINLINE
0012 typename lazy_disable_if<
0013 is_domain<A0>
0014 , result_of::make_expr<
0015 Tag
0016 , const A0 , const A1
0017 >
0018 >::type const
0019 make_expr(const A0 &a0 , const A1 &a1)
0020 {
0021 return proto::detail::make_expr_<
0022 Tag
0023 , deduce_domain
0024 , const A0 , const A1
0025 >()(a0 , a1);
0026 }
0027
0028
0029 template<typename Tag, typename Domain , typename C0 , typename C1>
0030 BOOST_FORCEINLINE
0031 typename result_of::make_expr<
0032 Tag
0033 , Domain
0034 , const C0 , const C1
0035 >::type const
0036 make_expr(const C0 &c0 , const C1 &c1)
0037 {
0038 return proto::detail::make_expr_<
0039 Tag
0040 , Domain
0041 , const C0 , const C1
0042 >()(c0 , c1);
0043 }
0044
0045
0046 template<typename Tag , typename A0 , typename A1 , typename A2>
0047 BOOST_FORCEINLINE
0048 typename lazy_disable_if<
0049 is_domain<A0>
0050 , result_of::make_expr<
0051 Tag
0052 , const A0 , const A1 , const A2
0053 >
0054 >::type const
0055 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2)
0056 {
0057 return proto::detail::make_expr_<
0058 Tag
0059 , deduce_domain
0060 , const A0 , const A1 , const A2
0061 >()(a0 , a1 , a2);
0062 }
0063
0064
0065 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2>
0066 BOOST_FORCEINLINE
0067 typename result_of::make_expr<
0068 Tag
0069 , Domain
0070 , const C0 , const C1 , const C2
0071 >::type const
0072 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2)
0073 {
0074 return proto::detail::make_expr_<
0075 Tag
0076 , Domain
0077 , const C0 , const C1 , const C2
0078 >()(c0 , c1 , c2);
0079 }
0080
0081
0082 template<typename Tag , typename A0 , typename A1 , typename A2 , typename A3>
0083 BOOST_FORCEINLINE
0084 typename lazy_disable_if<
0085 is_domain<A0>
0086 , result_of::make_expr<
0087 Tag
0088 , const A0 , const A1 , const A2 , const A3
0089 >
0090 >::type const
0091 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2 , const A3 &a3)
0092 {
0093 return proto::detail::make_expr_<
0094 Tag
0095 , deduce_domain
0096 , const A0 , const A1 , const A2 , const A3
0097 >()(a0 , a1 , a2 , a3);
0098 }
0099
0100
0101 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2 , typename C3>
0102 BOOST_FORCEINLINE
0103 typename result_of::make_expr<
0104 Tag
0105 , Domain
0106 , const C0 , const C1 , const C2 , const C3
0107 >::type const
0108 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2 , const C3 &c3)
0109 {
0110 return proto::detail::make_expr_<
0111 Tag
0112 , Domain
0113 , const C0 , const C1 , const C2 , const C3
0114 >()(c0 , c1 , c2 , c3);
0115 }
0116
0117
0118 template<typename Tag , typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0119 BOOST_FORCEINLINE
0120 typename lazy_disable_if<
0121 is_domain<A0>
0122 , result_of::make_expr<
0123 Tag
0124 , const A0 , const A1 , const A2 , const A3 , const A4
0125 >
0126 >::type const
0127 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2 , const A3 &a3 , const A4 &a4)
0128 {
0129 return proto::detail::make_expr_<
0130 Tag
0131 , deduce_domain
0132 , const A0 , const A1 , const A2 , const A3 , const A4
0133 >()(a0 , a1 , a2 , a3 , a4);
0134 }
0135
0136
0137 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2 , typename C3 , typename C4>
0138 BOOST_FORCEINLINE
0139 typename result_of::make_expr<
0140 Tag
0141 , Domain
0142 , const C0 , const C1 , const C2 , const C3 , const C4
0143 >::type const
0144 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2 , const C3 &c3 , const C4 &c4)
0145 {
0146 return proto::detail::make_expr_<
0147 Tag
0148 , Domain
0149 , const C0 , const C1 , const C2 , const C3 , const C4
0150 >()(c0 , c1 , c2 , c3 , c4);
0151 }
0152
0153
0154 template<typename Tag , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0155 BOOST_FORCEINLINE
0156 typename lazy_disable_if<
0157 is_domain<A0>
0158 , result_of::make_expr<
0159 Tag
0160 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5
0161 >
0162 >::type const
0163 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2 , const A3 &a3 , const A4 &a4 , const A5 &a5)
0164 {
0165 return proto::detail::make_expr_<
0166 Tag
0167 , deduce_domain
0168 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5
0169 >()(a0 , a1 , a2 , a3 , a4 , a5);
0170 }
0171
0172
0173 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename C5>
0174 BOOST_FORCEINLINE
0175 typename result_of::make_expr<
0176 Tag
0177 , Domain
0178 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5
0179 >::type const
0180 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2 , const C3 &c3 , const C4 &c4 , const C5 &c5)
0181 {
0182 return proto::detail::make_expr_<
0183 Tag
0184 , Domain
0185 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5
0186 >()(c0 , c1 , c2 , c3 , c4 , c5);
0187 }
0188
0189
0190 template<typename Tag , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0191 BOOST_FORCEINLINE
0192 typename lazy_disable_if<
0193 is_domain<A0>
0194 , result_of::make_expr<
0195 Tag
0196 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6
0197 >
0198 >::type const
0199 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2 , const A3 &a3 , const A4 &a4 , const A5 &a5 , const A6 &a6)
0200 {
0201 return proto::detail::make_expr_<
0202 Tag
0203 , deduce_domain
0204 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6
0205 >()(a0 , a1 , a2 , a3 , a4 , a5 , a6);
0206 }
0207
0208
0209 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename C5 , typename C6>
0210 BOOST_FORCEINLINE
0211 typename result_of::make_expr<
0212 Tag
0213 , Domain
0214 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6
0215 >::type const
0216 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2 , const C3 &c3 , const C4 &c4 , const C5 &c5 , const C6 &c6)
0217 {
0218 return proto::detail::make_expr_<
0219 Tag
0220 , Domain
0221 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6
0222 >()(c0 , c1 , c2 , c3 , c4 , c5 , c6);
0223 }
0224
0225
0226 template<typename Tag , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0227 BOOST_FORCEINLINE
0228 typename lazy_disable_if<
0229 is_domain<A0>
0230 , result_of::make_expr<
0231 Tag
0232 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6 , const A7
0233 >
0234 >::type const
0235 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2 , const A3 &a3 , const A4 &a4 , const A5 &a5 , const A6 &a6 , const A7 &a7)
0236 {
0237 return proto::detail::make_expr_<
0238 Tag
0239 , deduce_domain
0240 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6 , const A7
0241 >()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
0242 }
0243
0244
0245 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename C5 , typename C6 , typename C7>
0246 BOOST_FORCEINLINE
0247 typename result_of::make_expr<
0248 Tag
0249 , Domain
0250 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6 , const C7
0251 >::type const
0252 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2 , const C3 &c3 , const C4 &c4 , const C5 &c5 , const C6 &c6 , const C7 &c7)
0253 {
0254 return proto::detail::make_expr_<
0255 Tag
0256 , Domain
0257 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6 , const C7
0258 >()(c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7);
0259 }
0260
0261
0262 template<typename Tag , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0263 BOOST_FORCEINLINE
0264 typename lazy_disable_if<
0265 is_domain<A0>
0266 , result_of::make_expr<
0267 Tag
0268 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6 , const A7 , const A8
0269 >
0270 >::type const
0271 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2 , const A3 &a3 , const A4 &a4 , const A5 &a5 , const A6 &a6 , const A7 &a7 , const A8 &a8)
0272 {
0273 return proto::detail::make_expr_<
0274 Tag
0275 , deduce_domain
0276 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6 , const A7 , const A8
0277 >()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
0278 }
0279
0280
0281 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename C5 , typename C6 , typename C7 , typename C8>
0282 BOOST_FORCEINLINE
0283 typename result_of::make_expr<
0284 Tag
0285 , Domain
0286 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6 , const C7 , const C8
0287 >::type const
0288 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2 , const C3 &c3 , const C4 &c4 , const C5 &c5 , const C6 &c6 , const C7 &c7 , const C8 &c8)
0289 {
0290 return proto::detail::make_expr_<
0291 Tag
0292 , Domain
0293 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6 , const C7 , const C8
0294 >()(c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8);
0295 }
0296
0297
0298 template<typename Tag , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0299 BOOST_FORCEINLINE
0300 typename lazy_disable_if<
0301 is_domain<A0>
0302 , result_of::make_expr<
0303 Tag
0304 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6 , const A7 , const A8 , const A9
0305 >
0306 >::type const
0307 make_expr(const A0 &a0 , const A1 &a1 , const A2 &a2 , const A3 &a3 , const A4 &a4 , const A5 &a5 , const A6 &a6 , const A7 &a7 , const A8 &a8 , const A9 &a9)
0308 {
0309 return proto::detail::make_expr_<
0310 Tag
0311 , deduce_domain
0312 , const A0 , const A1 , const A2 , const A3 , const A4 , const A5 , const A6 , const A7 , const A8 , const A9
0313 >()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
0314 }
0315
0316
0317 template<typename Tag, typename Domain , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename C5 , typename C6 , typename C7 , typename C8 , typename C9>
0318 BOOST_FORCEINLINE
0319 typename result_of::make_expr<
0320 Tag
0321 , Domain
0322 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6 , const C7 , const C8 , const C9
0323 >::type const
0324 make_expr(const C0 &c0 , const C1 &c1 , const C2 &c2 , const C3 &c3 , const C4 &c4 , const C5 &c5 , const C6 &c6 , const C7 &c7 , const C8 &c8 , const C9 &c9)
0325 {
0326 return proto::detail::make_expr_<
0327 Tag
0328 , Domain
0329 , const C0 , const C1 , const C2 , const C3 , const C4 , const C5 , const C6 , const C7 , const C8 , const C9
0330 >()(c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9);
0331 }