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/and.hpp" header 10 // -- DO NOT modify by hand! 11 12 namespace boost { namespace mpl { 13 14 namespace aux { 15 template< bool C_ > struct and_impl 16 { 17 template< 18 typename T1, typename T2, typename T3, typename T4 19 > 20 struct result_ 21 : false_ 22 { 23 }; 24 }; 25 26 template<> struct and_impl<true> 27 { 28 template< 29 typename T1, typename T2, typename T3, typename T4 30 > 31 struct result_ 32 : and_impl< 33 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value 34 >::template result_< T2,T3,T4,true_ > 35 { 36 }; 37 38 template<> struct result_< true_,true_,true_,true_ > 39 : true_ 40 { 41 }; 42 }; 43 44 } // namespace aux 45 46 template< 47 typename BOOST_MPL_AUX_NA_PARAM(T1) 48 , typename BOOST_MPL_AUX_NA_PARAM(T2) 49 , typename T3 = true_, typename T4 = true_, typename T5 = true_ 50 > 51 struct and_ 52 53 : aux::and_impl< 54 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value 55 >::template result_< T2,T3,T4,T5 > 56 57 { 58 BOOST_MPL_AUX_LAMBDA_SUPPORT( 59 5 60 , and_ 61 , ( T1, T2, T3, T4, T5) 62 ) 63 }; 64 65 BOOST_MPL_AUX_NA_SPEC2( 66 2 67 , 5 68 , and_ 69 ) 70 71 }} 72