Back to home page

EIC code displayed by LXR

 
 

    


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

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 T, typename A0>
0016     inline
0017     typename expression::new_<detail::target<T>, A0>::type const
0018     new_(A0 const& a0)
0019     {
0020         return
0021             expression::
0022                 new_<detail::target<T>, A0>::
0023                     make(detail::target<T>(), a0);
0024     }
0025     
0026     
0027     
0028     
0029     
0030     
0031     
0032     template <typename T, typename A0 , typename A1>
0033     inline
0034     typename expression::new_<detail::target<T>, A0 , A1>::type const
0035     new_(A0 const& a0 , A1 const& a1)
0036     {
0037         return
0038             expression::
0039                 new_<detail::target<T>, A0 , A1>::
0040                     make(detail::target<T>(), a0 , a1);
0041     }
0042     
0043     
0044     
0045     
0046     
0047     
0048     
0049     template <typename T, typename A0 , typename A1 , typename A2>
0050     inline
0051     typename expression::new_<detail::target<T>, A0 , A1 , A2>::type const
0052     new_(A0 const& a0 , A1 const& a1 , A2 const& a2)
0053     {
0054         return
0055             expression::
0056                 new_<detail::target<T>, A0 , A1 , A2>::
0057                     make(detail::target<T>(), a0 , a1 , a2);
0058     }
0059     
0060     
0061     
0062     
0063     
0064     
0065     
0066     template <typename T, typename A0 , typename A1 , typename A2 , typename A3>
0067     inline
0068     typename expression::new_<detail::target<T>, A0 , A1 , A2 , A3>::type const
0069     new_(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
0070     {
0071         return
0072             expression::
0073                 new_<detail::target<T>, A0 , A1 , A2 , A3>::
0074                     make(detail::target<T>(), a0 , a1 , a2 , a3);
0075     }
0076     
0077     
0078     
0079     
0080     
0081     
0082     
0083     template <typename T, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0084     inline
0085     typename expression::new_<detail::target<T>, A0 , A1 , A2 , A3 , A4>::type const
0086     new_(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
0087     {
0088         return
0089             expression::
0090                 new_<detail::target<T>, A0 , A1 , A2 , A3 , A4>::
0091                     make(detail::target<T>(), a0 , a1 , a2 , a3 , a4);
0092     }
0093     
0094     
0095     
0096     
0097     
0098     
0099     
0100     template <typename T, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0101     inline
0102     typename expression::new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5>::type const
0103     new_(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
0104     {
0105         return
0106             expression::
0107                 new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5>::
0108                     make(detail::target<T>(), a0 , a1 , a2 , a3 , a4 , a5);
0109     }
0110     
0111     
0112     
0113     
0114     
0115     
0116     
0117     template <typename T, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0118     inline
0119     typename expression::new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6>::type const
0120     new_(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
0121     {
0122         return
0123             expression::
0124                 new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6>::
0125                     make(detail::target<T>(), a0 , a1 , a2 , a3 , a4 , a5 , a6);
0126     }
0127     
0128     
0129     
0130     
0131     
0132     
0133     
0134     template <typename T, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0135     inline
0136     typename expression::new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::type const
0137     new_(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
0138     {
0139         return
0140             expression::
0141                 new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::
0142                     make(detail::target<T>(), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
0143     }
0144     
0145     
0146     
0147     
0148     
0149     
0150     
0151     template <typename T, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0152     inline
0153     typename expression::new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::type const
0154     new_(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)
0155     {
0156         return
0157             expression::
0158                 new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::
0159                     make(detail::target<T>(), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
0160     }
0161     
0162     
0163     
0164     
0165     
0166     
0167     
0168     template <typename T, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0169     inline
0170     typename expression::new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::type const
0171     new_(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)
0172     {
0173         return
0174             expression::
0175                 new_<detail::target<T>, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::
0176                     make(detail::target<T>(), a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
0177     }