blob: 282b93135432b85041bd893c987d77a6e476ddd6 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001
2// Copyright Aleksey Gurtovoy 2000-2008
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 "quote.hpp" header
10// -- DO NOT modify by hand!
11
12namespace ndnboost { namespace mpl {
13
14template< typename T, bool has_type_ >
15struct quote_impl
16
17{
18 typedef typename T::type type;
19};
20
21template< typename T >
22struct quote_impl< T,false >
23{
24 typedef T type;
25};
26
27template<
28 template< typename P1 > class F
29 , typename Tag = void_
30 >
31struct quote1
32{
33 template< typename U1 > struct apply
34
35 {
36 typedef typename quote_impl<
37 F<U1>
38 , aux::has_type< F<U1> >::value
39 >::type type;
40 };
41};
42
43template<
44 template< typename P1, typename P2 > class F
45 , typename Tag = void_
46 >
47struct quote2
48{
49 template< typename U1, typename U2 > struct apply
50
51 {
52 typedef typename quote_impl<
53 F< U1,U2 >
54 , aux::has_type< F< U1,U2 > >::value
55 >::type type;
56 };
57};
58
59template<
60 template< typename P1, typename P2, typename P3 > class F
61 , typename Tag = void_
62 >
63struct quote3
64{
65 template< typename U1, typename U2, typename U3 > struct apply
66
67 {
68 typedef typename quote_impl<
69 F< U1,U2,U3 >
70 , aux::has_type< F< U1,U2,U3 > >::value
71 >::type type;
72 };
73};
74
75template<
76 template< typename P1, typename P2, typename P3, typename P4 > class F
77 , typename Tag = void_
78 >
79struct quote4
80{
81 template<
82 typename U1, typename U2, typename U3, typename U4
83 >
84 struct apply
85
86 {
87 typedef typename quote_impl<
88 F< U1,U2,U3,U4 >
89 , aux::has_type< F< U1,U2,U3,U4 > >::value
90 >::type type;
91 };
92};
93
94template<
95 template<
96 typename P1, typename P2, typename P3, typename P4
97 , typename P5
98 >
99 class F
100 , typename Tag = void_
101 >
102struct quote5
103{
104 template<
105 typename U1, typename U2, typename U3, typename U4
106 , typename U5
107 >
108 struct apply
109
110 {
111 typedef typename quote_impl<
112 F< U1,U2,U3,U4,U5 >
113 , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
114 >::type type;
115 };
116};
117
118}}
119