118 lines
2.7 KiB
C++
118 lines
2.7 KiB
C++
|
|
// 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)
|
|
//
|
|
|
|
// *Preprocessed* version of the main "arg.hpp" header
|
|
// -- DO NOT modify by hand!
|
|
|
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
|
template<> struct arg< -1 >
|
|
{
|
|
BOOST_STATIC_CONSTANT(int, value = -1);
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
|
|
|
template<
|
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
|
>
|
|
struct apply
|
|
{
|
|
typedef U1 type;
|
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
|
};
|
|
};
|
|
|
|
template<> struct arg<1>
|
|
{
|
|
BOOST_STATIC_CONSTANT(int, value = 1);
|
|
typedef arg<2> next;
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
|
|
|
template<
|
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
|
>
|
|
struct apply
|
|
{
|
|
typedef U1 type;
|
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
|
};
|
|
};
|
|
|
|
template<> struct arg<2>
|
|
{
|
|
BOOST_STATIC_CONSTANT(int, value = 2);
|
|
typedef arg<3> next;
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
|
|
|
template<
|
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
|
>
|
|
struct apply
|
|
{
|
|
typedef U2 type;
|
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
|
};
|
|
};
|
|
|
|
template<> struct arg<3>
|
|
{
|
|
BOOST_STATIC_CONSTANT(int, value = 3);
|
|
typedef arg<4> next;
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
|
|
|
template<
|
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
|
>
|
|
struct apply
|
|
{
|
|
typedef U3 type;
|
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
|
};
|
|
};
|
|
|
|
template<> struct arg<4>
|
|
{
|
|
BOOST_STATIC_CONSTANT(int, value = 4);
|
|
typedef arg<5> next;
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
|
|
|
template<
|
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
|
>
|
|
struct apply
|
|
{
|
|
typedef U4 type;
|
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
|
};
|
|
};
|
|
|
|
template<> struct arg<5>
|
|
{
|
|
BOOST_STATIC_CONSTANT(int, value = 5);
|
|
typedef arg<6> next;
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
|
|
|
template<
|
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
|
>
|
|
struct apply
|
|
{
|
|
typedef U5 type;
|
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
|
};
|
|
};
|
|
|
|
BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
|
|
|
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|