williamr@4: williamr@4: // Copyright Aleksey Gurtovoy 2000-2004 williamr@4: // williamr@4: // Distributed under the Boost Software License, Version 1.0. williamr@4: // (See accompanying file LICENSE_1_0.txt or copy at williamr@4: // http://www.boost.org/LICENSE_1_0.txt) williamr@4: // williamr@4: williamr@4: // Preprocessed version of "boost/mpl/and.hpp" header williamr@4: // -- DO NOT modify by hand! williamr@4: williamr@4: namespace boost { namespace mpl { williamr@4: williamr@4: namespace aux { williamr@4: williamr@4: template< bool C_, typename T1, typename T2, typename T3, typename T4 > williamr@4: struct and_impl williamr@4: : false_ williamr@4: { williamr@4: }; williamr@4: williamr@4: template< typename T1, typename T2, typename T3, typename T4 > williamr@4: struct and_impl< true,T1,T2,T3,T4 > williamr@4: : and_impl< williamr@4: BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value williamr@4: , T2, T3, T4 williamr@4: , true_ williamr@4: > williamr@4: { williamr@4: }; williamr@4: williamr@4: template<> williamr@4: struct and_impl< williamr@4: true williamr@4: , true_, true_, true_, true_ williamr@4: > williamr@4: : true_ williamr@4: { williamr@4: }; williamr@4: williamr@4: } // namespace aux williamr@4: williamr@4: template< williamr@4: typename BOOST_MPL_AUX_NA_PARAM(T1) williamr@4: , typename BOOST_MPL_AUX_NA_PARAM(T2) williamr@4: , typename T3 = true_, typename T4 = true_, typename T5 = true_ williamr@4: > williamr@4: struct and_ williamr@4: williamr@4: : aux::and_impl< williamr@4: BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value williamr@4: , T2, T3, T4, T5 williamr@4: > williamr@4: williamr@4: { williamr@4: }; williamr@4: williamr@4: BOOST_MPL_AUX_NA_SPEC2( williamr@4: 2 williamr@4: , 5 williamr@4: , and_ williamr@4: ) williamr@4: williamr@4: }}