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