]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / include / boost / mpl / aux_ / preprocessed / mwcw / arg.hpp
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