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