Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-23 09:47:58

0001 /*=============================================================================
0002     Copyright (c) 2001-2007 Joel de Guzman
0003 
0004     Distributed under the Boost Software License, Version 1.0. (See accompanying 
0005     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 ==============================================================================*/
0007     
0008     
0009     
0010     
0011     
0012     
0013     
0014     template <
0015         typename F
0016       , typename A0
0017     >
0018     inline
0019     typename detail::expression::function_eval<
0020         F
0021       , A0
0022     >::type const
0023     bind(F f, A0 const& a0)
0024     {
0025         return
0026             detail::expression::function_eval<F, A0>::make(
0027                 f
0028               , a0
0029             );
0030     }
0031     
0032     
0033     
0034     
0035     
0036     
0037     
0038     template <
0039         typename F
0040       , typename A0 , typename A1
0041     >
0042     inline
0043     typename detail::expression::function_eval<
0044         F
0045       , A0 , A1
0046     >::type const
0047     bind(F f, A0 const& a0 , A1 const& a1)
0048     {
0049         return
0050             detail::expression::function_eval<F, A0 , A1>::make(
0051                 f
0052               , a0 , a1
0053             );
0054     }
0055     
0056     
0057     
0058     
0059     
0060     
0061     
0062     template <
0063         typename F
0064       , typename A0 , typename A1 , typename A2
0065     >
0066     inline
0067     typename detail::expression::function_eval<
0068         F
0069       , A0 , A1 , A2
0070     >::type const
0071     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2)
0072     {
0073         return
0074             detail::expression::function_eval<F, A0 , A1 , A2>::make(
0075                 f
0076               , a0 , a1 , a2
0077             );
0078     }
0079     
0080     
0081     
0082     
0083     
0084     
0085     
0086     template <
0087         typename F
0088       , typename A0 , typename A1 , typename A2 , typename A3
0089     >
0090     inline
0091     typename detail::expression::function_eval<
0092         F
0093       , A0 , A1 , A2 , A3
0094     >::type const
0095     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
0096     {
0097         return
0098             detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(
0099                 f
0100               , a0 , a1 , a2 , a3
0101             );
0102     }
0103     
0104     
0105     
0106     
0107     
0108     
0109     
0110     template <
0111         typename F
0112       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
0113     >
0114     inline
0115     typename detail::expression::function_eval<
0116         F
0117       , A0 , A1 , A2 , A3 , A4
0118     >::type const
0119     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
0120     {
0121         return
0122             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(
0123                 f
0124               , a0 , a1 , a2 , a3 , a4
0125             );
0126     }
0127     
0128     
0129     
0130     
0131     
0132     
0133     
0134     template <
0135         typename F
0136       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
0137     >
0138     inline
0139     typename detail::expression::function_eval<
0140         F
0141       , A0 , A1 , A2 , A3 , A4 , A5
0142     >::type const
0143     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
0144     {
0145         return
0146             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(
0147                 f
0148               , a0 , a1 , a2 , a3 , a4 , a5
0149             );
0150     }
0151     
0152     
0153     
0154     
0155     
0156     
0157     
0158     template <
0159         typename F
0160       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
0161     >
0162     inline
0163     typename detail::expression::function_eval<
0164         F
0165       , A0 , A1 , A2 , A3 , A4 , A5 , A6
0166     >::type const
0167     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
0168     {
0169         return
0170             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(
0171                 f
0172               , a0 , a1 , a2 , a3 , a4 , a5 , a6
0173             );
0174     }
0175     
0176     
0177     
0178     
0179     
0180     
0181     
0182     template <
0183         typename F
0184       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
0185     >
0186     inline
0187     typename detail::expression::function_eval<
0188         F
0189       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
0190     >::type const
0191     bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
0192     {
0193         return
0194             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(
0195                 f
0196               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
0197             );
0198     }
0199     
0200     
0201     
0202     
0203     
0204     
0205     
0206     template <
0207         typename F
0208       , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
0209     >
0210     inline
0211     typename detail::expression::function_eval<
0212         F
0213       , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
0214     >::type const
0215     bind(F f, 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)
0216     {
0217         return
0218             detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(
0219                 f
0220               , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
0221             );
0222     }