blob: 4fd2f04a22c3fdd7197542a984710649ace9e903 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001
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 "ndnboost/mpl/apply_wrap.hpp" header
10// -- DO NOT modify by hand!
11
12namespace ndnboost { namespace mpl {
13
14template<
15 typename F
16
17 , typename has_apply_ = typename aux::has_apply<F>::type
18
19 >
20struct apply_wrap0
21
22{
23 typedef typename F::template apply<
24
25 >::type type;
26
27};
28
29/// workaround for ETI bug
30template<>
31struct apply_wrap0<int>
32{
33 typedef int type;
34};
35
36template<
37 typename F, typename T1
38
39 >
40struct apply_wrap1
41
42{
43 typedef typename F::template apply<
44 T1
45 >::type type;
46
47};
48
49/// workaround for ETI bug
50template<>
51struct apply_wrap1< int,int >
52{
53 typedef int type;
54};
55
56template<
57 typename F, typename T1, typename T2
58
59 >
60struct apply_wrap2
61
62{
63 typedef typename F::template apply<
64 T1, T2
65 >::type type;
66
67};
68
69/// workaround for ETI bug
70template<>
71struct apply_wrap2< int,int,int >
72{
73 typedef int type;
74};
75
76template<
77 typename F, typename T1, typename T2, typename T3
78
79 >
80struct 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
90template<>
91struct apply_wrap3< int,int,int,int >
92{
93 typedef int type;
94};
95
96template<
97 typename F, typename T1, typename T2, typename T3, typename T4
98
99 >
100struct 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
110template<>
111struct apply_wrap4< int,int,int,int,int >
112{
113 typedef int type;
114};
115
116template<
117 typename F, typename T1, typename T2, typename T3, typename T4
118 , typename T5
119
120 >
121struct 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
131template<>
132struct apply_wrap5< int,int,int,int,int,int >
133{
134 typedef int type;
135};
136
137}}
138