]> git.donarmstrong.com Git - rsem.git/blob - boost/mpl/aux_/preprocessed/bcc/quote.hpp
RSEM Source Codes
[rsem.git] / boost / mpl / aux_ / preprocessed / bcc / quote.hpp
1
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
12 namespace boost { namespace mpl {
13
14 template< typename T, bool has_type_ >
15 struct quote_impl
16
17 {
18     typedef typename T::type type;
19 };
20
21 template< typename T >
22 struct quote_impl< T,false >
23 {
24     typedef T type;
25 };
26
27 template<
28       template< typename P1 > class F
29     , typename Tag = void_
30     >
31 struct 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
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     {
52         typedef typename quote_impl<
53               F< U1,U2 >
54             , aux::has_type< F< U1,U2 > >::value
55             >::type type;
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     {
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
75 template<
76       template< typename P1, typename P2, typename P3, typename P4 > class F
77     , typename Tag = void_
78     >
79 struct 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
94 template<
95       template<
96           typename P1, typename P2, typename P3, typename P4
97         , typename P5
98         >
99       class F
100     , typename Tag = void_
101     >
102 struct 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