and.hpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright Aleksey Gurtovoy 2000-2004
  2. //
  3. // Distributed under the Boost Software License, Version 1.0.
  4. // (See accompanying file LICENSE_1_0.txt or copy at
  5. // http://www.boost.org/LICENSE_1_0.txt)
  6. //
  7. // Preprocessed version of "boost/mpl/and.hpp" header
  8. // -- DO NOT modify by hand!
  9. namespace boost { namespace mpl {
  10. namespace aux {
  11. template< bool C_, typename T1, typename T2, typename T3, typename T4 >
  12. struct and_impl
  13. : false_
  14. {
  15. };
  16. template< typename T1, typename T2, typename T3, typename T4 >
  17. struct and_impl< true,T1,T2,T3,T4 >
  18. : and_impl<
  19. BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
  20. , T2, T3, T4
  21. , true_
  22. >
  23. {
  24. };
  25. template<>
  26. struct and_impl<
  27. true
  28. , true_, true_, true_, true_
  29. >
  30. : true_
  31. {
  32. };
  33. } // namespace aux
  34. template<
  35. typename BOOST_MPL_AUX_NA_PARAM(T1)
  36. , typename BOOST_MPL_AUX_NA_PARAM(T2)
  37. , typename T3 = true_, typename T4 = true_, typename T5 = true_
  38. >
  39. struct and_
  40. : aux::and_impl<
  41. BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
  42. , T2, T3, T4, T5
  43. >
  44. {
  45. };
  46. BOOST_MPL_AUX_NA_SPEC2(
  47. 2
  48. , 5
  49. , and_
  50. )
  51. }}