~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to boost/boost/mpl/aux_/preprocessed/mwcw/arg.hpp

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// preprocessed version of 'boost/mpl/arg.hpp' header
 
2
// see the original for copyright information
 
3
 
 
4
namespace boost {
 
5
namespace mpl {
 
6
 
 
7
template<> struct arg<-1>
 
8
{
 
9
    static int const value = -1;
 
10
    BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
 
11
 
 
12
    template<
 
13
          typename U1 = void_, typename U2 = void_, typename U3 = void_
 
14
        , typename U4 = void_, typename U5 = void_
 
15
        >
 
16
    struct apply
 
17
    {
 
18
        typedef U1 type;
 
19
 
 
20
     private:
 
21
        static bool const nv = !is_void_<type>::value;
 
22
        BOOST_STATIC_ASSERT(nv);
 
23
 
 
24
    };
 
25
};
 
26
 
 
27
template<> struct arg<1>
 
28
{
 
29
    static int const value = 1;
 
30
    typedef arg<2> next;
 
31
    BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
 
32
 
 
33
    template<
 
34
          typename U1 = void_, typename U2 = void_, typename U3 = void_
 
35
        , typename U4 = void_, typename U5 = void_
 
36
        >
 
37
    struct apply
 
38
    {
 
39
        typedef U1 type;
 
40
 
 
41
     private:
 
42
        static bool const nv = !is_void_<type>::value;
 
43
        BOOST_STATIC_ASSERT(nv);
 
44
 
 
45
    };
 
46
};
 
47
 
 
48
template<> struct arg<2>
 
49
{
 
50
    static int const value = 2;
 
51
    typedef arg<3> next;
 
52
    BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
 
53
 
 
54
    template<
 
55
          typename U1 = void_, typename U2 = void_, typename U3 = void_
 
56
        , typename U4 = void_, typename U5 = void_
 
57
        >
 
58
    struct apply
 
59
    {
 
60
        typedef U2 type;
 
61
 
 
62
     private:
 
63
        static bool const nv = !is_void_<type>::value;
 
64
        BOOST_STATIC_ASSERT(nv);
 
65
 
 
66
    };
 
67
};
 
68
 
 
69
template<> struct arg<3>
 
70
{
 
71
    static int const value = 3;
 
72
    typedef arg<4> next;
 
73
    BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
 
74
 
 
75
    template<
 
76
          typename U1 = void_, typename U2 = void_, typename U3 = void_
 
77
        , typename U4 = void_, typename U5 = void_
 
78
        >
 
79
    struct apply
 
80
    {
 
81
        typedef U3 type;
 
82
 
 
83
     private:
 
84
        static bool const nv = !is_void_<type>::value;
 
85
        BOOST_STATIC_ASSERT(nv);
 
86
 
 
87
    };
 
88
};
 
89
 
 
90
template<> struct arg<4>
 
91
{
 
92
    static int const value = 4;
 
93
    typedef arg<5> next;
 
94
    BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
 
95
 
 
96
    template<
 
97
          typename U1 = void_, typename U2 = void_, typename U3 = void_
 
98
        , typename U4 = void_, typename U5 = void_
 
99
        >
 
100
    struct apply
 
101
    {
 
102
        typedef U4 type;
 
103
 
 
104
     private:
 
105
        static bool const nv = !is_void_<type>::value;
 
106
        BOOST_STATIC_ASSERT(nv);
 
107
 
 
108
    };
 
109
};
 
110
 
 
111
template<> struct arg<5>
 
112
{
 
113
    static int const value = 5;
 
114
    typedef arg<6> next;
 
115
    BOOST_MPL_AUX_ARG_TYPEDEF(void_, tag)
 
116
 
 
117
    template<
 
118
          typename U1 = void_, typename U2 = void_, typename U3 = void_
 
119
        , typename U4 = void_, typename U5 = void_
 
120
        >
 
121
    struct apply
 
122
    {
 
123
        typedef U5 type;
 
124
 
 
125
     private:
 
126
        static bool const nv = !is_void_<type>::value;
 
127
        BOOST_STATIC_ASSERT(nv);
 
128
 
 
129
    };
 
130
};
 
131
 
 
132
BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1, int, arg)
 
133
 
 
134
} // namespace mpl
 
135
} // namespace boost
 
136