and.hpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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_ > struct and_impl
  12. {
  13. template<
  14. typename T1, typename T2, typename T3, typename T4
  15. >
  16. struct result_
  17. : false_
  18. {
  19. };
  20. };
  21. template<> struct and_impl<true>
  22. {
  23. template<
  24. typename T1, typename T2, typename T3, typename T4
  25. >
  26. struct result_
  27. : and_impl<
  28. BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
  29. >::template result_< T2,T3,T4,true_ >
  30. {
  31. };
  32. template<> struct result_< true_,true_,true_,true_ >
  33. : true_
  34. {
  35. };
  36. };
  37. } // namespace aux
  38. template<
  39. typename BOOST_MPL_AUX_NA_PARAM(T1)
  40. , typename BOOST_MPL_AUX_NA_PARAM(T2)
  41. , typename T3 = true_, typename T4 = true_, typename T5 = true_
  42. >
  43. struct and_
  44. : aux::and_impl<
  45. BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
  46. >::template result_< T2,T3,T4,T5 >
  47. {
  48. BOOST_MPL_AUX_LAMBDA_SUPPORT(
  49. 5
  50. , and_
  51. , ( T1, T2, T3, T4, T5)
  52. )
  53. };
  54. BOOST_MPL_AUX_NA_SPEC2(
  55. 2
  56. , 5
  57. , and_
  58. )
  59. }}