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: }}