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