Merge c:/dyninst/pc_bluegene/dyninst into dyn_pc_integration
[dyninst.git] / external / boost / mpl / aux_ / preprocessed / msvc70 / apply_wrap.hpp
1
2 // Copyright Aleksey Gurtovoy 2000-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 "boost/mpl/apply_wrap.hpp" header
10 // -- DO NOT modify by hand!
11
12 namespace boost { namespace mpl {
13
14 template<
15       typename F
16
17     , typename has_apply_ = typename aux::has_apply<F>::type
18
19     >
20 struct apply_wrap0
21
22 {
23     typedef typename F::template apply<
24         
25         >::type type;
26
27 };
28
29 /// workaround for ETI bug
30 template<>
31 struct apply_wrap0<int>
32 {
33     typedef int type;
34 };
35
36 template<
37       typename F, typename T1
38
39     >
40 struct apply_wrap1
41
42 {
43     typedef typename F::template apply<
44          T1
45         >::type type;
46
47 };
48
49 /// workaround for ETI bug
50 template<>
51 struct apply_wrap1< int,int >
52 {
53     typedef int type;
54 };
55
56 template<
57       typename F, typename T1, typename T2
58
59     >
60 struct apply_wrap2
61
62 {
63     typedef typename F::template apply<
64          T1, T2
65         >::type type;
66
67 };
68
69 /// workaround for ETI bug
70 template<>
71 struct apply_wrap2< int,int,int >
72 {
73     typedef int type;
74 };
75
76 template<
77       typename F, typename T1, typename T2, typename T3
78
79     >
80 struct apply_wrap3
81
82 {
83     typedef typename F::template apply<
84          T1, T2, T3
85         >::type type;
86
87 };
88
89 /// workaround for ETI bug
90 template<>
91 struct apply_wrap3< int,int,int,int >
92 {
93     typedef int type;
94 };
95
96 template<
97       typename F, typename T1, typename T2, typename T3, typename T4
98
99     >
100 struct apply_wrap4
101
102 {
103     typedef typename F::template apply<
104          T1, T2, T3, T4
105         >::type type;
106
107 };
108
109 /// workaround for ETI bug
110 template<>
111 struct apply_wrap4< int,int,int,int,int >
112 {
113     typedef int type;
114 };
115
116 template<
117       typename F, typename T1, typename T2, typename T3, typename T4
118     , typename T5
119
120     >
121 struct apply_wrap5
122
123 {
124     typedef typename F::template apply<
125          T1, T2, T3, T4, T5
126         >::type type;
127
128 };
129
130 /// workaround for ETI bug
131 template<>
132 struct apply_wrap5< int,int,int,int,int,int >
133 {
134     typedef int type;
135 };
136
137 }}
138