Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:45:17

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 , typename A1, typename Context>
0016         struct result<This(A0 , A1, Context)>
0017             : detail::result_of::target<A0>
0018         {
0019         };
0020         
0021         template <typename A0 , typename A1, typename Context>
0022         typename detail::result_of::target<A0>::type
0023         operator()(
0024             A0 const&
0025           , A1 const& a1
0026           , Context const & ctx
0027         ) const
0028         {
0029             return
0030                 typename detail::result_of::target<A0>::type(
0031                     boost::phoenix::eval(a1, ctx)
0032                 );
0033         }
0034     
0035     
0036     
0037     
0038     
0039     
0040     
0041         template <typename This, typename A0 , typename A1 , typename A2, typename Context>
0042         struct result<This(A0 , A1 , A2, Context)>
0043             : detail::result_of::target<A0>
0044         {
0045         };
0046         
0047         template <typename A0 , typename A1 , typename A2, typename Context>
0048         typename detail::result_of::target<A0>::type
0049         operator()(
0050             A0 const&
0051           , A1 const& a1 , A2 const& a2
0052           , Context const & ctx
0053         ) const
0054         {
0055             return
0056                 typename detail::result_of::target<A0>::type(
0057                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx)
0058                 );
0059         }
0060     
0061     
0062     
0063     
0064     
0065     
0066     
0067         template <typename This, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
0068         struct result<This(A0 , A1 , A2 , A3, Context)>
0069             : detail::result_of::target<A0>
0070         {
0071         };
0072         
0073         template <typename A0 , typename A1 , typename A2 , typename A3, typename Context>
0074         typename detail::result_of::target<A0>::type
0075         operator()(
0076             A0 const&
0077           , A1 const& a1 , A2 const& a2 , A3 const& a3
0078           , Context const & ctx
0079         ) const
0080         {
0081             return
0082                 typename detail::result_of::target<A0>::type(
0083                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx)
0084                 );
0085         }
0086     
0087     
0088     
0089     
0090     
0091     
0092     
0093         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
0094         struct result<This(A0 , A1 , A2 , A3 , A4, Context)>
0095             : detail::result_of::target<A0>
0096         {
0097         };
0098         
0099         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
0100         typename detail::result_of::target<A0>::type
0101         operator()(
0102             A0 const&
0103           , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4
0104           , Context const & ctx
0105         ) const
0106         {
0107             return
0108                 typename detail::result_of::target<A0>::type(
0109                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx)
0110                 );
0111         }
0112     
0113     
0114     
0115     
0116     
0117     
0118     
0119         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
0120         struct result<This(A0 , A1 , A2 , A3 , A4 , A5, Context)>
0121             : detail::result_of::target<A0>
0122         {
0123         };
0124         
0125         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
0126         typename detail::result_of::target<A0>::type
0127         operator()(
0128             A0 const&
0129           , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5
0130           , Context const & ctx
0131         ) const
0132         {
0133             return
0134                 typename detail::result_of::target<A0>::type(
0135                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx)
0136                 );
0137         }
0138     
0139     
0140     
0141     
0142     
0143     
0144     
0145         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
0146         struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6, Context)>
0147             : detail::result_of::target<A0>
0148         {
0149         };
0150         
0151         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
0152         typename detail::result_of::target<A0>::type
0153         operator()(
0154             A0 const&
0155           , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6
0156           , Context const & ctx
0157         ) const
0158         {
0159             return
0160                 typename detail::result_of::target<A0>::type(
0161                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx)
0162                 );
0163         }
0164     
0165     
0166     
0167     
0168     
0169     
0170     
0171         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
0172         struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, Context)>
0173             : detail::result_of::target<A0>
0174         {
0175         };
0176         
0177         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
0178         typename detail::result_of::target<A0>::type
0179         operator()(
0180             A0 const&
0181           , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7
0182           , Context const & ctx
0183         ) const
0184         {
0185             return
0186                 typename detail::result_of::target<A0>::type(
0187                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx)
0188                 );
0189         }
0190     
0191     
0192     
0193     
0194     
0195     
0196     
0197         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
0198         struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, Context)>
0199             : detail::result_of::target<A0>
0200         {
0201         };
0202         
0203         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
0204         typename detail::result_of::target<A0>::type
0205         operator()(
0206             A0 const&
0207           , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8
0208           , Context const & ctx
0209         ) const
0210         {
0211             return
0212                 typename detail::result_of::target<A0>::type(
0213                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx)
0214                 );
0215         }
0216     
0217     
0218     
0219     
0220     
0221     
0222     
0223         template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
0224         struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, Context)>
0225             : detail::result_of::target<A0>
0226         {
0227         };
0228         
0229         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
0230         typename detail::result_of::target<A0>::type
0231         operator()(
0232             A0 const&
0233           , 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
0234           , Context const & ctx
0235         ) const
0236         {
0237             return
0238                 typename detail::result_of::target<A0>::type(
0239                     boost::phoenix::eval(a1, ctx) , boost::phoenix::eval(a2, ctx) , boost::phoenix::eval(a3, ctx) , boost::phoenix::eval(a4, ctx) , boost::phoenix::eval(a5, ctx) , boost::phoenix::eval(a6, ctx) , boost::phoenix::eval(a7, ctx) , boost::phoenix::eval(a8, ctx) , boost::phoenix::eval(a9, ctx)
0240                 );
0241         }