williamr@2: williamr@2: // Copyright Aleksey Gurtovoy 2000-2004 williamr@2: // williamr@2: // Distributed under the Boost Software License, Version 1.0. williamr@2: // (See accompanying file LICENSE_1_0.txt or copy at williamr@2: // http://www.boost.org/LICENSE_1_0.txt) williamr@2: // williamr@2: williamr@4: // Preprocessed version of "boost/mpl/quote.hpp" header williamr@4: // -- DO NOT modify by hand! williamr@2: williamr@2: namespace boost { namespace mpl { williamr@2: williamr@2: template< typename T, bool has_type_ > williamr@2: struct quote_impl williamr@2: : T williamr@2: { williamr@2: }; williamr@2: williamr@2: template< typename T > williamr@4: struct quote_impl< T,false > williamr@2: { williamr@2: typedef T type; williamr@2: }; williamr@2: williamr@4: template< williamr@4: template< typename P1 > class F williamr@4: , typename Tag = void_ williamr@4: > williamr@4: struct quote1 williamr@4: { williamr@4: template< typename U1 > struct apply williamr@2: williamr@4: : quote_impl< williamr@4: F williamr@4: , aux::has_type< F >::value williamr@4: > williamr@4: williamr@2: { williamr@2: }; williamr@2: }; williamr@2: williamr@2: template< williamr@4: template< typename P1, typename P2 > class F williamr@2: , typename Tag = void_ williamr@2: > williamr@4: struct quote2 williamr@2: { williamr@4: template< typename U1, typename U2 > struct apply williamr@4: williamr@2: : quote_impl< williamr@4: F< U1,U2 > williamr@4: , aux::has_type< F< U1,U2 > >::value williamr@2: > williamr@4: williamr@2: { williamr@2: }; williamr@2: }; williamr@2: williamr@4: template< williamr@4: template< typename P1, typename P2, typename P3 > class F williamr@4: , typename Tag = void_ williamr@4: > williamr@4: struct quote3 williamr@4: { williamr@4: template< typename U1, typename U2, typename U3 > struct apply williamr@4: williamr@4: : quote_impl< williamr@4: F< U1,U2,U3 > williamr@4: , aux::has_type< F< U1,U2,U3 > >::value williamr@4: > williamr@4: williamr@4: { williamr@4: }; williamr@4: }; williamr@4: williamr@4: template< williamr@4: template< typename P1, typename P2, typename P3, typename P4 > class F williamr@4: , typename Tag = void_ williamr@4: > williamr@4: struct quote4 williamr@4: { williamr@4: template< williamr@4: typename U1, typename U2, typename U3, typename U4 williamr@4: > williamr@4: struct apply williamr@4: williamr@4: : quote_impl< williamr@4: F< U1,U2,U3,U4 > williamr@4: , aux::has_type< F< U1,U2,U3,U4 > >::value williamr@4: > williamr@4: williamr@4: { williamr@4: }; williamr@4: }; williamr@4: williamr@4: template< williamr@4: template< williamr@4: typename P1, typename P2, typename P3, typename P4 williamr@4: , typename P5 williamr@4: > williamr@4: class F williamr@4: , typename Tag = void_ williamr@4: > williamr@4: struct quote5 williamr@4: { williamr@4: template< williamr@4: typename U1, typename U2, typename U3, typename U4 williamr@4: , typename U5 williamr@4: > williamr@4: struct apply williamr@4: williamr@4: : quote_impl< williamr@4: F< U1,U2,U3,U4,U5 > williamr@4: , aux::has_type< F< U1,U2,U3,U4,U5 > >::value williamr@4: > williamr@4: williamr@4: { williamr@4: }; williamr@4: }; williamr@4: williamr@4: }} williamr@4: