source: NonGTP/Boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp @ 857

Revision 857, 2.7 KB checked in by igarcia, 19 years ago (diff)
Line 
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, 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
30template<> 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
47template<> 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
64template<> 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
81template<> 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
98template<> 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
115BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
116
117BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
Note: See TracBrowser for help on using the repository browser.