williamr@2: williamr@2: // Copyright Peter Dimov 2001-2002 williamr@2: // Copyright Aleksey Gurtovoy 2001-2004 williamr@2: // williamr@2: // Distributed under the Boost Software License, Version 1.0. williamr@2: // (See accompanying file LICENSE_1_0.txt or copy at williamr@2: // http://www.boost.org/LICENSE_1_0.txt) williamr@2: // williamr@2: williamr@2: // Preprocessed version of "boost/mpl/arg.hpp" header williamr@2: // -- DO NOT modify by hand! williamr@2: williamr@2: BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN williamr@2: template<> struct arg< -1 > williamr@2: { williamr@2: BOOST_STATIC_CONSTANT(int, value = -1); williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, type) williamr@2: williamr@2: template< williamr@2: typename U1 = na, typename U2 = na, typename U3 = na williamr@2: , typename U4 = na, typename U5 = na williamr@2: > williamr@2: struct apply williamr@2: { williamr@2: typedef U1 type; williamr@2: BOOST_MPL_AUX_ASSERT_NOT_NA(type); williamr@2: }; williamr@2: }; williamr@2: williamr@2: template<> struct arg<1> williamr@2: { williamr@2: BOOST_STATIC_CONSTANT(int, value = 1); williamr@2: typedef arg<2> next; williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, type) williamr@2: williamr@2: template< williamr@2: typename U1 = na, typename U2 = na, typename U3 = na williamr@2: , typename U4 = na, typename U5 = na williamr@2: > williamr@2: struct apply williamr@2: { williamr@2: typedef U1 type; williamr@2: BOOST_MPL_AUX_ASSERT_NOT_NA(type); williamr@2: }; williamr@2: }; williamr@2: williamr@2: template<> struct arg<2> williamr@2: { williamr@2: BOOST_STATIC_CONSTANT(int, value = 2); williamr@2: typedef arg<3> next; williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, type) williamr@2: williamr@2: template< williamr@2: typename U1 = na, typename U2 = na, typename U3 = na williamr@2: , typename U4 = na, typename U5 = na williamr@2: > williamr@2: struct apply williamr@2: { williamr@2: typedef U2 type; williamr@2: BOOST_MPL_AUX_ASSERT_NOT_NA(type); williamr@2: }; williamr@2: }; williamr@2: williamr@2: template<> struct arg<3> williamr@2: { williamr@2: BOOST_STATIC_CONSTANT(int, value = 3); williamr@2: typedef arg<4> next; williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, type) williamr@2: williamr@2: template< williamr@2: typename U1 = na, typename U2 = na, typename U3 = na williamr@2: , typename U4 = na, typename U5 = na williamr@2: > williamr@2: struct apply williamr@2: { williamr@2: typedef U3 type; williamr@2: BOOST_MPL_AUX_ASSERT_NOT_NA(type); williamr@2: }; williamr@2: }; williamr@2: williamr@2: template<> struct arg<4> williamr@2: { williamr@2: BOOST_STATIC_CONSTANT(int, value = 4); williamr@2: typedef arg<5> next; williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, type) williamr@2: williamr@2: template< williamr@2: typename U1 = na, typename U2 = na, typename U3 = na williamr@2: , typename U4 = na, typename U5 = na williamr@2: > williamr@2: struct apply williamr@2: { williamr@2: typedef U4 type; williamr@2: BOOST_MPL_AUX_ASSERT_NOT_NA(type); williamr@2: }; williamr@2: }; williamr@2: williamr@2: template<> struct arg<5> williamr@2: { williamr@2: BOOST_STATIC_CONSTANT(int, value = 5); williamr@2: typedef arg<6> next; williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) williamr@2: BOOST_MPL_AUX_ARG_TYPEDEF(na, type) williamr@2: williamr@2: template< williamr@2: typename U1 = na, typename U2 = na, typename U3 = na williamr@2: , typename U4 = na, typename U5 = na williamr@2: > williamr@2: struct apply williamr@2: { williamr@2: typedef U5 type; williamr@2: BOOST_MPL_AUX_ASSERT_NOT_NA(type); williamr@2: }; williamr@2: }; williamr@2: williamr@2: BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) williamr@2: williamr@2: BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE