Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:41:01

0001 
0002 // Copyright Aleksey Gurtovoy 2000-2008
0003 //
0004 // Distributed under the Boost Software License, Version 1.0. 
0005 // (See accompanying file LICENSE_1_0.txt or copy at 
0006 // http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 
0009 // *Preprocessed* version of the main "quote.hpp" header
0010 // -- DO NOT modify by hand!
0011 
0012 namespace boost { namespace mpl {
0013 
0014 template< typename T, bool has_type_ >
0015 struct quote_impl
0016 
0017 {
0018     typedef typename T::type type;
0019 };
0020 
0021 template< typename T >
0022 struct quote_impl< T,false >
0023 {
0024     typedef T type;
0025 };
0026 
0027 template<
0028       template< typename P1 > class F
0029     , typename Tag = void_
0030     >
0031 struct quote1
0032 {
0033     template< typename U1 > struct apply
0034 
0035     {
0036         typedef typename quote_impl<
0037               F<U1>
0038             , aux::has_type< F<U1> >::value
0039             >::type type;
0040     };
0041 };
0042 
0043 template<
0044       template< typename P1, typename P2 > class F
0045     , typename Tag = void_
0046     >
0047 struct quote2
0048 {
0049     template< typename U1, typename U2 > struct apply
0050 
0051     {
0052         typedef typename quote_impl<
0053               F< U1,U2 >
0054             , aux::has_type< F< U1,U2 > >::value
0055             >::type type;
0056     };
0057 };
0058 
0059 template<
0060       template< typename P1, typename P2, typename P3 > class F
0061     , typename Tag = void_
0062     >
0063 struct quote3
0064 {
0065     template< typename U1, typename U2, typename U3 > struct apply
0066 
0067     {
0068         typedef typename quote_impl<
0069               F< U1,U2,U3 >
0070             , aux::has_type< F< U1,U2,U3 > >::value
0071             >::type type;
0072     };
0073 };
0074 
0075 template<
0076       template< typename P1, typename P2, typename P3, typename P4 > class F
0077     , typename Tag = void_
0078     >
0079 struct quote4
0080 {
0081     template<
0082           typename U1, typename U2, typename U3, typename U4
0083         >
0084     struct apply
0085 
0086     {
0087         typedef typename quote_impl<
0088               F< U1,U2,U3,U4 >
0089             , aux::has_type< F< U1,U2,U3,U4 > >::value
0090             >::type type;
0091     };
0092 };
0093 
0094 template<
0095       template<
0096           typename P1, typename P2, typename P3, typename P4
0097         , typename P5
0098         >
0099       class F
0100     , typename Tag = void_
0101     >
0102 struct quote5
0103 {
0104     template<
0105           typename U1, typename U2, typename U3, typename U4
0106         , typename U5
0107         >
0108     struct apply
0109 
0110     {
0111         typedef typename quote_impl<
0112               F< U1,U2,U3,U4,U5 >
0113             , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
0114             >::type type;
0115     };
0116 };
0117 
0118 }}
0119