/extlibs/Boost/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp
C++ Header | 123 lines | 98 code | 16 blank | 9 comment | 0 complexity | 35106aa7bc861bd47c76bf2674ae4ee9 MD5 | raw file
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 13BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN 14template<> 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 31template<> 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 49template<> 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 67template<> 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 85template<> 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 103template<> 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 121BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) 122 123BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE