|
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 |
|
13 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN |
|
14 template<> 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 |
|
31 template<> 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 |
|
49 template<> 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 |
|
67 template<> 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 |
|
85 template<> 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 |
|
103 template<> 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 |
|
121 BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) |
|
122 |
|
123 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE |