]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 the main "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, typename U2, typename U3, typename U4, typename U5 | |
22 | > | |
23 | struct apply | |
24 | { | |
25 | typedef U1 type; | |
26 | BOOST_MPL_AUX_ASSERT_NOT_NA(type); | |
27 | }; | |
28 | }; | |
29 | ||
30 | template<> struct arg<1> | |
31 | { | |
32 | BOOST_STATIC_CONSTANT(int, value = 1); | |
33 | typedef arg<2> next; | |
34 | BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) | |
35 | BOOST_MPL_AUX_ARG_TYPEDEF(na, type) | |
36 | ||
37 | template< | |
38 | typename U1, typename U2, typename U3, typename U4, typename U5 | |
39 | > | |
40 | struct apply | |
41 | { | |
42 | typedef U1 type; | |
43 | BOOST_MPL_AUX_ASSERT_NOT_NA(type); | |
44 | }; | |
45 | }; | |
46 | ||
47 | template<> struct arg<2> | |
48 | { | |
49 | BOOST_STATIC_CONSTANT(int, value = 2); | |
50 | typedef arg<3> next; | |
51 | BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) | |
52 | BOOST_MPL_AUX_ARG_TYPEDEF(na, type) | |
53 | ||
54 | template< | |
55 | typename U1, typename U2, typename U3, typename U4, typename U5 | |
56 | > | |
57 | struct apply | |
58 | { | |
59 | typedef U2 type; | |
60 | BOOST_MPL_AUX_ASSERT_NOT_NA(type); | |
61 | }; | |
62 | }; | |
63 | ||
64 | template<> struct arg<3> | |
65 | { | |
66 | BOOST_STATIC_CONSTANT(int, value = 3); | |
67 | typedef arg<4> next; | |
68 | BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) | |
69 | BOOST_MPL_AUX_ARG_TYPEDEF(na, type) | |
70 | ||
71 | template< | |
72 | typename U1, typename U2, typename U3, typename U4, typename U5 | |
73 | > | |
74 | struct apply | |
75 | { | |
76 | typedef U3 type; | |
77 | BOOST_MPL_AUX_ASSERT_NOT_NA(type); | |
78 | }; | |
79 | }; | |
80 | ||
81 | template<> struct arg<4> | |
82 | { | |
83 | BOOST_STATIC_CONSTANT(int, value = 4); | |
84 | typedef arg<5> next; | |
85 | BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) | |
86 | BOOST_MPL_AUX_ARG_TYPEDEF(na, type) | |
87 | ||
88 | template< | |
89 | typename U1, typename U2, typename U3, typename U4, typename U5 | |
90 | > | |
91 | struct apply | |
92 | { | |
93 | typedef U4 type; | |
94 | BOOST_MPL_AUX_ASSERT_NOT_NA(type); | |
95 | }; | |
96 | }; | |
97 | ||
98 | template<> struct arg<5> | |
99 | { | |
100 | BOOST_STATIC_CONSTANT(int, value = 5); | |
101 | typedef arg<6> next; | |
102 | BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) | |
103 | BOOST_MPL_AUX_ARG_TYPEDEF(na, type) | |
104 | ||
105 | template< | |
106 | typename U1, typename U2, typename U3, typename U4, typename U5 | |
107 | > | |
108 | struct apply | |
109 | { | |
110 | typedef U5 type; | |
111 | BOOST_MPL_AUX_ASSERT_NOT_NA(type); | |
112 | }; | |
113 | }; | |
114 | ||
115 | BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) | |
116 | ||
117 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE |