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