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