CodeMover prototype
[dyninst.git] / external / boost / mpl / aux_ / preprocessed / bcc_pre590 / arg.hpp
1 \r
2 // Copyright Peter Dimov 2001-2002\r
3 // Copyright Aleksey Gurtovoy 2001-2004\r
4 //\r
5 // Distributed under the Boost Software License, Version 1.0. \r
6 // (See accompanying file LICENSE_1_0.txt or copy at \r
7 // http://www.boost.org/LICENSE_1_0.txt)\r
8 //\r
9 \r
10 // *Preprocessed* version of the main "arg.hpp" header\r
11 // -- DO NOT modify by hand!\r
12 \r
13 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN\r
14 template<> struct arg< -1 >\r
15 {\r
16     BOOST_STATIC_CONSTANT(int, value  = -1);\r
17     BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
18     BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
19 \r
20     template<\r
21           typename U1, typename U2, typename U3, typename U4, typename U5\r
22         >\r
23     struct apply\r
24     {\r
25         typedef U1 type;\r
26         BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
27     };\r
28 };\r
29 \r
30 template<> struct arg<1>\r
31 {\r
32     BOOST_STATIC_CONSTANT(int, value  = 1);\r
33     typedef arg<2> next;\r
34     BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
35     BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
36 \r
37     template<\r
38           typename U1, typename U2, typename U3, typename U4, typename U5\r
39         >\r
40     struct apply\r
41     {\r
42         typedef U1 type;\r
43         BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
44     };\r
45 };\r
46 \r
47 template<> struct arg<2>\r
48 {\r
49     BOOST_STATIC_CONSTANT(int, value  = 2);\r
50     typedef arg<3> next;\r
51     BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
52     BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
53 \r
54     template<\r
55           typename U1, typename U2, typename U3, typename U4, typename U5\r
56         >\r
57     struct apply\r
58     {\r
59         typedef U2 type;\r
60         BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
61     };\r
62 };\r
63 \r
64 template<> struct arg<3>\r
65 {\r
66     BOOST_STATIC_CONSTANT(int, value  = 3);\r
67     typedef arg<4> next;\r
68     BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
69     BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
70 \r
71     template<\r
72           typename U1, typename U2, typename U3, typename U4, typename U5\r
73         >\r
74     struct apply\r
75     {\r
76         typedef U3 type;\r
77         BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
78     };\r
79 };\r
80 \r
81 template<> struct arg<4>\r
82 {\r
83     BOOST_STATIC_CONSTANT(int, value  = 4);\r
84     typedef arg<5> next;\r
85     BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
86     BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
87 \r
88     template<\r
89           typename U1, typename U2, typename U3, typename U4, typename U5\r
90         >\r
91     struct apply\r
92     {\r
93         typedef U4 type;\r
94         BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
95     };\r
96 };\r
97 \r
98 template<> struct arg<5>\r
99 {\r
100     BOOST_STATIC_CONSTANT(int, value  = 5);\r
101     typedef arg<6> next;\r
102     BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)\r
103     BOOST_MPL_AUX_ARG_TYPEDEF(na, type)\r
104 \r
105     template<\r
106           typename U1, typename U2, typename U3, typename U4, typename U5\r
107         >\r
108     struct apply\r
109     {\r
110         typedef U5 type;\r
111         BOOST_MPL_AUX_ASSERT_NOT_NA(type);\r
112     };\r
113 };\r
114 \r
115 BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)\r
116 \r
117 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE\r