Chris@16
|
1
|
Chris@16
|
2 // Copyright Aleksey Gurtovoy 2000-2004
|
Chris@16
|
3 //
|
Chris@16
|
4 // Distributed under the Boost Software License, Version 1.0.
|
Chris@16
|
5 // (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
6 // http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
7 //
|
Chris@16
|
8
|
Chris@16
|
9 // Preprocessed version of "boost/mpl/quote.hpp" header
|
Chris@16
|
10 // -- DO NOT modify by hand!
|
Chris@16
|
11
|
Chris@16
|
12 namespace boost { namespace mpl {
|
Chris@16
|
13 template< bool > struct quote_impl
|
Chris@16
|
14 {
|
Chris@16
|
15 template< typename T > struct result_
|
Chris@16
|
16 : T
|
Chris@16
|
17 {
|
Chris@16
|
18 };
|
Chris@16
|
19 };
|
Chris@16
|
20
|
Chris@16
|
21 template<> struct quote_impl<false>
|
Chris@16
|
22 {
|
Chris@16
|
23 template< typename T > struct result_
|
Chris@16
|
24 {
|
Chris@16
|
25 typedef T type;
|
Chris@16
|
26 };
|
Chris@16
|
27 };
|
Chris@16
|
28
|
Chris@16
|
29 template<
|
Chris@16
|
30 template< typename P1 > class F
|
Chris@16
|
31 , typename Tag = void_
|
Chris@16
|
32 >
|
Chris@16
|
33 struct quote1
|
Chris@16
|
34 {
|
Chris@16
|
35 template< typename U1 > struct apply
|
Chris@16
|
36
|
Chris@16
|
37 : quote_impl< aux::has_type< F<U1> >::value >
|
Chris@16
|
38 ::template result_< F<U1> >
|
Chris@16
|
39
|
Chris@16
|
40 {
|
Chris@16
|
41 };
|
Chris@16
|
42 };
|
Chris@16
|
43
|
Chris@16
|
44 template<
|
Chris@16
|
45 template< typename P1, typename P2 > class F
|
Chris@16
|
46 , typename Tag = void_
|
Chris@16
|
47 >
|
Chris@16
|
48 struct quote2
|
Chris@16
|
49 {
|
Chris@16
|
50 template< typename U1, typename U2 > struct apply
|
Chris@16
|
51
|
Chris@16
|
52 : quote_impl< aux::has_type< F< U1,U2 > >::value >
|
Chris@16
|
53 ::template result_< F< U1,U2 > >
|
Chris@16
|
54
|
Chris@16
|
55 {
|
Chris@16
|
56 };
|
Chris@16
|
57 };
|
Chris@16
|
58
|
Chris@16
|
59 template<
|
Chris@16
|
60 template< typename P1, typename P2, typename P3 > class F
|
Chris@16
|
61 , typename Tag = void_
|
Chris@16
|
62 >
|
Chris@16
|
63 struct quote3
|
Chris@16
|
64 {
|
Chris@16
|
65 template< typename U1, typename U2, typename U3 > struct apply
|
Chris@16
|
66
|
Chris@16
|
67 : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >
|
Chris@16
|
68 ::template result_< F< U1,U2,U3 > >
|
Chris@16
|
69
|
Chris@16
|
70 {
|
Chris@16
|
71 };
|
Chris@16
|
72 };
|
Chris@16
|
73
|
Chris@16
|
74 template<
|
Chris@16
|
75 template< typename P1, typename P2, typename P3, typename P4 > class F
|
Chris@16
|
76 , typename Tag = void_
|
Chris@16
|
77 >
|
Chris@16
|
78 struct quote4
|
Chris@16
|
79 {
|
Chris@16
|
80 template<
|
Chris@16
|
81 typename U1, typename U2, typename U3, typename U4
|
Chris@16
|
82 >
|
Chris@16
|
83 struct apply
|
Chris@16
|
84
|
Chris@16
|
85 : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >
|
Chris@16
|
86 ::template result_< F< U1,U2,U3,U4 > >
|
Chris@16
|
87
|
Chris@16
|
88 {
|
Chris@16
|
89 };
|
Chris@16
|
90 };
|
Chris@16
|
91
|
Chris@16
|
92 template<
|
Chris@16
|
93 template<
|
Chris@16
|
94 typename P1, typename P2, typename P3, typename P4
|
Chris@16
|
95 , typename P5
|
Chris@16
|
96 >
|
Chris@16
|
97 class F
|
Chris@16
|
98 , typename Tag = void_
|
Chris@16
|
99 >
|
Chris@16
|
100 struct quote5
|
Chris@16
|
101 {
|
Chris@16
|
102 template<
|
Chris@16
|
103 typename U1, typename U2, typename U3, typename U4
|
Chris@16
|
104 , typename U5
|
Chris@16
|
105 >
|
Chris@16
|
106 struct apply
|
Chris@16
|
107
|
Chris@16
|
108 : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >
|
Chris@16
|
109 ::template result_< F< U1,U2,U3,U4,U5 > >
|
Chris@16
|
110
|
Chris@16
|
111 {
|
Chris@16
|
112 };
|
Chris@16
|
113 };
|
Chris@16
|
114
|
Chris@16
|
115 }}
|
Chris@16
|
116
|