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

Revision 857, 2.9 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 = 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
31template<> 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
49template<> 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
67template<> 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
85template<> 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
103template<> 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
121BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
122
123BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
Note: See TracBrowser for help on using the repository browser.