Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:50:28

0001     ///////////////////////////////////////////////////////////////////////////////
0002     /// \file construct_pod_funop.hpp
0003     /// Overloads of construct_\<\>::operator().
0004     //
0005     //  Copyright 2008 Eric Niebler. Distributed under the Boost
0006     //  Software License, Version 1.0. (See accompanying file
0007     //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0008     template<typename A0>
0009     BOOST_FORCEINLINE
0010     Type operator ()(A0 &a0) const
0011     {
0012         Type that = {a0};
0013         return that;
0014     }
0015     template<typename A0 , typename A1>
0016     BOOST_FORCEINLINE
0017     Type operator ()(A0 &a0 , A1 &a1) const
0018     {
0019         Type that = {a0 , a1};
0020         return that;
0021     }
0022     template<typename A0 , typename A1 , typename A2>
0023     BOOST_FORCEINLINE
0024     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2) const
0025     {
0026         Type that = {a0 , a1 , a2};
0027         return that;
0028     }
0029     template<typename A0 , typename A1 , typename A2 , typename A3>
0030     BOOST_FORCEINLINE
0031     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3) const
0032     {
0033         Type that = {a0 , a1 , a2 , a3};
0034         return that;
0035     }
0036     template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0037     BOOST_FORCEINLINE
0038     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4) const
0039     {
0040         Type that = {a0 , a1 , a2 , a3 , a4};
0041         return that;
0042     }
0043     template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0044     BOOST_FORCEINLINE
0045     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5) const
0046     {
0047         Type that = {a0 , a1 , a2 , a3 , a4 , a5};
0048         return that;
0049     }
0050     template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0051     BOOST_FORCEINLINE
0052     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6) const
0053     {
0054         Type that = {a0 , a1 , a2 , a3 , a4 , a5 , a6};
0055         return that;
0056     }
0057     template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0058     BOOST_FORCEINLINE
0059     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7) const
0060     {
0061         Type that = {a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
0062         return that;
0063     }
0064     template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0065     BOOST_FORCEINLINE
0066     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7 , A8 &a8) const
0067     {
0068         Type that = {a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
0069         return that;
0070     }
0071     template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0072     BOOST_FORCEINLINE
0073     Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7 , A8 &a8 , A9 &a9) const
0074     {
0075         Type that = {a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
0076         return that;
0077     }