Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-31 09:53:43

0001 /*==============================================================================
0002     Copyright (c) 2005-2010 Joel de Guzman
0003     Copyright (c) 2010 Thomas Heller
0004 
0005     Distributed under the Boost Software License, Version 1.0. (See accompanying
0006     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 ==============================================================================*/
0008     
0009     
0010     
0011     
0012     
0013     
0014     
0015         template <typename This, typename A0>
0016         struct result<This(A0 const&)>
0017             : detail::expression::function_eval<F, A0>
0018         {};
0019         template <typename A0>
0020         typename detail::expression::function_eval<F, A0>::type const
0021         operator()(A0 const& a0) const
0022         {
0023             return detail::expression::function_eval<F, A0>::make(f, a0);
0024         }
0025     
0026     
0027     
0028     
0029     
0030     
0031     
0032         template <typename This, typename A0 , typename A1>
0033         struct result<This(A0 const& , A1 const&)>
0034             : detail::expression::function_eval<F, A0 , A1>
0035         {};
0036         template <typename A0 , typename A1>
0037         typename detail::expression::function_eval<F, A0 , A1>::type const
0038         operator()(A0 const& a0 , A1 const& a1) const
0039         {
0040             return detail::expression::function_eval<F, A0 , A1>::make(f, a0 , a1);
0041         }
0042     
0043     
0044     
0045     
0046     
0047     
0048     
0049         template <typename This, typename A0 , typename A1 , typename A2>
0050         struct result<This(A0 const& , A1 const& , A2 const&)>
0051             : detail::expression::function_eval<F, A0 , A1 , A2>
0052         {};
0053         template <typename A0 , typename A1 , typename A2>
0054         typename detail::expression::function_eval<F, A0 , A1 , A2>::type const
0055         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
0056         {
0057             return detail::expression::function_eval<F, A0 , A1 , A2>::make(f, a0 , a1 , a2);
0058         }
0059     
0060     
0061     
0062     
0063     
0064     
0065     
0066         template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
0067         struct result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
0068             : detail::expression::function_eval<F, A0 , A1 , A2 , A3>
0069         {};
0070         template <typename A0 , typename A1 , typename A2 , typename A3>
0071         typename detail::expression::function_eval<F, A0 , A1 , A2 , A3>::type const
0072         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
0073         {
0074             return detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(f, a0 , a1 , a2 , a3);
0075         }
0076     
0077     
0078     
0079     
0080     
0081     
0082     
0083         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0084         struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
0085             : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>
0086         {};
0087         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0088         typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::type const
0089         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
0090         {
0091             return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(f, a0 , a1 , a2 , a3 , a4);
0092         }
0093     
0094     
0095     
0096     
0097     
0098     
0099     
0100         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0101         struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
0102             : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>
0103         {};
0104         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0105         typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::type const
0106         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
0107         {
0108             return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(f, a0 , a1 , a2 , a3 , a4 , a5);
0109         }
0110     
0111     
0112     
0113     
0114     
0115     
0116     
0117         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0118         struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
0119             : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>
0120         {};
0121         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0122         typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::type const
0123         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
0124         {
0125             return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6);
0126         }
0127     
0128     
0129     
0130     
0131     
0132     
0133     
0134         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0135         struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
0136             : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
0137         {};
0138         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0139         typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::type const
0140         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
0141         {
0142             return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
0143         }
0144     
0145     
0146     
0147     
0148     
0149     
0150     
0151         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0152         struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
0153             : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
0154         {};
0155         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0156         typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::type const
0157         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
0158         {
0159             return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
0160         }
0161     
0162     
0163     
0164     
0165     
0166     
0167     
0168         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0169         struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
0170             : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
0171         {};
0172         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0173         typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::type const
0174         operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
0175         {
0176             return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
0177         }