1 /////////////////////////////////////////////////////////////////////////////// 2 /// \file construct_funop.hpp 3 /// Overloads of construct_\<\>::operator(). 4 // 5 // Copyright 2008 Eric Niebler. Distributed under the Boost 6 // Software License, Version 1.0. (See accompanying file 7 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 template<typename A0> 9 BOOST_FORCEINLINE operator ()(A0 & a0) const10 Type operator ()(A0 &a0) const 11 { 12 return Type(a0); 13 } 14 template<typename A0 , typename A1> 15 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1) const16 Type operator ()(A0 &a0 , A1 &a1) const 17 { 18 return Type(a0 , a1); 19 } 20 template<typename A0 , typename A1 , typename A2> 21 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2) const22 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2) const 23 { 24 return Type(a0 , a1 , a2); 25 } 26 template<typename A0 , typename A1 , typename A2 , typename A3> 27 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2,A3 & a3) const28 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3) const 29 { 30 return Type(a0 , a1 , a2 , a3); 31 } 32 template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4> 33 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2,A3 & a3,A4 & a4) const34 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4) const 35 { 36 return Type(a0 , a1 , a2 , a3 , a4); 37 } 38 template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> 39 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2,A3 & a3,A4 & a4,A5 & a5) const40 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5) const 41 { 42 return Type(a0 , a1 , a2 , a3 , a4 , a5); 43 } 44 template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> 45 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2,A3 & a3,A4 & a4,A5 & a5,A6 & a6) const46 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6) const 47 { 48 return Type(a0 , a1 , a2 , a3 , a4 , a5 , a6); 49 } 50 template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> 51 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2,A3 & a3,A4 & a4,A5 & a5,A6 & a6,A7 & a7) const52 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7) const 53 { 54 return Type(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7); 55 } 56 template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> 57 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2,A3 & a3,A4 & a4,A5 & a5,A6 & a6,A7 & a7,A8 & a8) const58 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7 , A8 &a8) const 59 { 60 return Type(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8); 61 } 62 template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> 63 BOOST_FORCEINLINE operator ()(A0 & a0,A1 & a1,A2 & a2,A3 & a3,A4 & a4,A5 & a5,A6 & a6,A7 & a7,A8 & a8,A9 & a9) const64 Type operator ()(A0 &a0 , A1 &a1 , A2 &a2 , A3 &a3 , A4 &a4 , A5 &a5 , A6 &a6 , A7 &a7 , A8 &a8 , A9 &a9) const 65 { 66 return Type(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9); 67 } 68