Files

124 lines
2.8 KiB
C++
Raw Permalink Normal View History

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