1 2 // Copyright Peter Dimov 2001-2002 3 // Copyright Aleksey Gurtovoy 2001-2004 4 // 5 // Distributed under the Boost Software License, Version 1.0. 6 // (See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 // 9 10 // Preprocessed version of "boost/mpl/arg.hpp" header 11 // -- DO NOT modify by hand! 12 13 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 14 template<> struct arg< -1 > 15 { 16 BOOST_STATIC_CONSTANT(int, value = -1); 17 BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) 18 BOOST_MPL_AUX_ARG_TYPEDEF(na, type) 19 20 template< 21 typename U1 = na, typename U2 = na, typename U3 = na 22 , typename U4 = na, typename U5 = na 23 > 24 struct apply 25 { 26 typedef U1 type; 27 BOOST_MPL_AUX_ASSERT_NOT_NA(type); 28 }; 29 }; 30 31 template<> struct arg<1> 32 { 33 BOOST_STATIC_CONSTANT(int, value = 1); 34 typedef arg<2> next; 35 BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) 36 BOOST_MPL_AUX_ARG_TYPEDEF(na, type) 37 38 template< 39 typename U1 = na, typename U2 = na, typename U3 = na 40 , typename U4 = na, typename U5 = na 41 > 42 struct apply 43 { 44 typedef U1 type; 45 BOOST_MPL_AUX_ASSERT_NOT_NA(type); 46 }; 47 }; 48 49 template<> struct arg<2> 50 { 51 BOOST_STATIC_CONSTANT(int, value = 2); 52 typedef arg<3> next; 53 BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) 54 BOOST_MPL_AUX_ARG_TYPEDEF(na, type) 55 56 template< 57 typename U1 = na, typename U2 = na, typename U3 = na 58 , typename U4 = na, typename U5 = na 59 > 60 struct apply 61 { 62 typedef U2 type; 63 BOOST_MPL_AUX_ASSERT_NOT_NA(type); 64 }; 65 }; 66 67 template<> struct arg<3> 68 { 69 BOOST_STATIC_CONSTANT(int, value = 3); 70 typedef arg<4> next; 71 BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) 72 BOOST_MPL_AUX_ARG_TYPEDEF(na, type) 73 74 template< 75 typename U1 = na, typename U2 = na, typename U3 = na 76 , typename U4 = na, typename U5 = na 77 > 78 struct apply 79 { 80 typedef U3 type; 81 BOOST_MPL_AUX_ASSERT_NOT_NA(type); 82 }; 83 }; 84 85 template<> struct arg<4> 86 { 87 BOOST_STATIC_CONSTANT(int, value = 4); 88 typedef arg<5> next; 89 BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) 90 BOOST_MPL_AUX_ARG_TYPEDEF(na, type) 91 92 template< 93 typename U1 = na, typename U2 = na, typename U3 = na 94 , typename U4 = na, typename U5 = na 95 > 96 struct apply 97 { 98 typedef U4 type; 99 BOOST_MPL_AUX_ASSERT_NOT_NA(type); 100 }; 101 }; 102 103 template<> struct arg<5> 104 { 105 BOOST_STATIC_CONSTANT(int, value = 5); 106 typedef arg<6> next; 107 BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) 108 BOOST_MPL_AUX_ARG_TYPEDEF(na, type) 109 110 template< 111 typename U1 = na, typename U2 = na, typename U3 = na 112 , typename U4 = na, typename U5 = na 113 > 114 struct apply 115 { 116 typedef U5 type; 117 BOOST_MPL_AUX_ASSERT_NOT_NA(type); 118 }; 119 }; 120 121 BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) 122 123 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE 124