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 39 template<> 40 struct and_impl<true> 41 ::result_< true_,true_,true_,true_ > 42 : true_ 43 { 44 }; 45 46 } // namespace aux 47 48 template< 49 typename BOOST_MPL_AUX_NA_PARAM(T1) 50 , typename BOOST_MPL_AUX_NA_PARAM(T2) 51 , typename T3 = true_, typename T4 = true_, typename T5 = true_ 52 > 53 struct and_ 54 55 : aux::and_impl< 56 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value 57 >::template result_< T2,T3,T4,T5 > 58 59 { 60 BOOST_MPL_AUX_LAMBDA_SUPPORT( 61 5 62 , and_ 63 , ( T1, T2, T3, T4, T5) 64 ) 65 }; 66 67 BOOST_MPL_AUX_NA_SPEC2( 68 2 69 , 5 70 , and_ 71 ) 72 73 }} 74