Home | History | Annotate | Download | only in gcc
      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 {
     17     typedef typename T::type type;
     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 
    124