~ubuntu-branches/ubuntu/saucy/merkaartor/saucy

« back to all changes in this revision

Viewing changes to include/builtin-boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp

Tags: upstream-0.15.3+svn20934
ImportĀ upstreamĀ versionĀ 0.15.3+svn20934

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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