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