~ubuntu-branches/ubuntu/wily/davix/wily

« back to all changes in this revision

Viewing changes to deps/boost_intern/boost/mpl/aux_/preprocessed/bcc/inherit.hpp

  • Committer: Package Import Robot
  • Author(s): Mattias Ellert
  • Date: 2015-07-31 13:17:55 UTC
  • mfrom: (5.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20150731131755-mizprbmn7ogv33te
Tags: 0.4.1-1
* Update to version 0.4.1
* Implement Multi-Arch support

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
// Copyright Aleksey Gurtovoy 2001-2004
3
 
//
4
 
// Distributed under the Boost Software License, Version 1.0. 
5
 
// (See accompanying file LICENSE_1_0.txt or copy at 
6
 
// http://www.boost.org/LICENSE_1_0.txt)
7
 
//
8
 
 
9
 
// *Preprocessed* version of the main "inherit.hpp" header
10
 
// -- DO NOT modify by hand!
11
 
 
12
 
namespace boost { namespace mpl {
13
 
 
14
 
template<
15
 
      typename BOOST_MPL_AUX_NA_PARAM(T1)
16
 
    , typename BOOST_MPL_AUX_NA_PARAM(T2)
17
 
    >
18
 
struct inherit2
19
 
    : T1, T2
20
 
{
21
 
    typedef inherit2 type;
22
 
    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
23
 
};
24
 
 
25
 
template< typename T1 >
26
 
struct inherit2< T1,empty_base >
27
 
{
28
 
    typedef T1 type;
29
 
    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
30
 
};
31
 
 
32
 
template< typename T2 >
33
 
struct inherit2< empty_base,T2 >
34
 
{
35
 
    typedef T2 type;
36
 
    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
37
 
};
38
 
 
39
 
template<>
40
 
struct inherit2< empty_base,empty_base >
41
 
{
42
 
    typedef empty_base type;
43
 
    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
44
 
};
45
 
 
46
 
BOOST_MPL_AUX_NA_SPEC(2, inherit2)
47
 
 
48
 
template<
49
 
      typename T1 = na, typename T2 = na, typename T3 = na
50
 
    >
51
 
struct inherit3
52
 
    : inherit2<
53
 
          typename inherit2<
54
 
              T1, T2
55
 
            >::type
56
 
        , T3
57
 
        >
58
 
{
59
 
    BOOST_MPL_AUX_LAMBDA_SUPPORT(
60
 
          3
61
 
        , inherit3
62
 
        , ( T1, T2, T3)
63
 
        )
64
 
};
65
 
 
66
 
BOOST_MPL_AUX_NA_SPEC(3, inherit3)
67
 
 
68
 
template<
69
 
      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
70
 
    >
71
 
struct inherit4
72
 
    : inherit2<
73
 
          typename inherit3<
74
 
              T1, T2, T3
75
 
            >::type
76
 
        , T4
77
 
        >
78
 
{
79
 
    BOOST_MPL_AUX_LAMBDA_SUPPORT(
80
 
          4
81
 
        , inherit4
82
 
        , ( T1, T2, T3, T4)
83
 
        )
84
 
};
85
 
 
86
 
BOOST_MPL_AUX_NA_SPEC(4, inherit4)
87
 
 
88
 
template<
89
 
      typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
90
 
    , typename T5 = na
91
 
    >
92
 
struct inherit5
93
 
    : inherit2<
94
 
          typename inherit4<
95
 
              T1, T2, T3, T4
96
 
            >::type
97
 
        , T5
98
 
        >
99
 
{
100
 
    BOOST_MPL_AUX_LAMBDA_SUPPORT(
101
 
          5
102
 
        , inherit5
103
 
        , ( T1, T2, T3, T4, T5)
104
 
        )
105
 
};
106
 
 
107
 
BOOST_MPL_AUX_NA_SPEC(5, inherit5)
108
 
 
109
 
/// primary template
110
 
 
111
 
template<
112
 
      typename T1 = empty_base, typename T2 = empty_base
113
 
    , typename T3 = empty_base, typename T4 = empty_base
114
 
    , typename T5 = empty_base
115
 
    >
116
 
struct inherit
117
 
    : inherit5< T1,T2,T3,T4,T5 >
118
 
{
119
 
};
120
 
 
121
 
template<>
122
 
struct inherit< na,na,na,na,na >
123
 
{
124
 
    template<
125
 
 
126
 
          typename T1, typename T2, typename T3, typename T4, typename T5
127
 
 
128
 
        >
129
 
    struct apply
130
 
        : inherit< T1,T2,T3,T4,T5 >
131
 
    {
132
 
    };
133
 
};
134
 
 
135
 
BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
136
 
BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
137
 
BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
138
 
}}
139