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
124

source code of include/boost/mpl/aux_/preprocessed/gcc/arg.hpp