]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
69bb8d5f82d0e546fa37f10cc5a18f9761b2daf6
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / mpl / aux_ / preprocessed / bcc / quote.hpp
1 \r
2 // Copyright Aleksey Gurtovoy 2000-2008\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 the main "quote.hpp" header\r
10 // -- DO NOT modify by hand!\r
11 \r
12 namespace boost { namespace mpl {\r
13 \r
14 template< typename T, bool has_type_ >\r
15 struct quote_impl\r
16 \r
17 {\r
18     typedef typename T::type type;\r
19 };\r
20 \r
21 template< typename T >\r
22 struct quote_impl< T,false >\r
23 {\r
24     typedef T type;\r
25 };\r
26 \r
27 template<\r
28       template< typename P1 > class F\r
29     , typename Tag = void_\r
30     >\r
31 struct quote1\r
32 {\r
33     template< typename U1 > struct apply\r
34 \r
35     {\r
36         typedef typename quote_impl<\r
37               F<U1>\r
38             , aux::has_type< F<U1> >::value\r
39             >::type type;\r
40     };\r
41 };\r
42 \r
43 template<\r
44       template< typename P1, typename P2 > class F\r
45     , typename Tag = void_\r
46     >\r
47 struct quote2\r
48 {\r
49     template< typename U1, typename U2 > struct apply\r
50 \r
51     {\r
52         typedef typename quote_impl<\r
53               F< U1,U2 >\r
54             , aux::has_type< F< U1,U2 > >::value\r
55             >::type type;\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     {\r
68         typedef typename quote_impl<\r
69               F< U1,U2,U3 >\r
70             , aux::has_type< F< U1,U2,U3 > >::value\r
71             >::type type;\r
72     };\r
73 };\r
74 \r
75 template<\r
76       template< typename P1, typename P2, typename P3, typename P4 > class F\r
77     , typename Tag = void_\r
78     >\r
79 struct quote4\r
80 {\r
81     template<\r
82           typename U1, typename U2, typename U3, typename U4\r
83         >\r
84     struct apply\r
85 \r
86     {\r
87         typedef typename quote_impl<\r
88               F< U1,U2,U3,U4 >\r
89             , aux::has_type< F< U1,U2,U3,U4 > >::value\r
90             >::type type;\r
91     };\r
92 };\r
93 \r
94 template<\r
95       template<\r
96           typename P1, typename P2, typename P3, typename P4\r
97         , typename P5\r
98         >\r
99       class F\r
100     , typename Tag = void_\r
101     >\r
102 struct quote5\r
103 {\r
104     template<\r
105           typename U1, typename U2, typename U3, typename U4\r
106         , typename U5\r
107         >\r
108     struct apply\r
109 \r
110     {\r
111         typedef typename quote_impl<\r
112               F< U1,U2,U3,U4,U5 >\r
113             , aux::has_type< F< U1,U2,U3,U4,U5 > >::value\r
114             >::type type;\r
115     };\r
116 };\r
117 \r
118 }}\r
119 \r