or.hpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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/or.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 or_impl
  13. : true_
  14. {
  15. };
  16. template< typename T1, typename T2, typename T3, typename T4 >
  17. struct or_impl< false,T1,T2,T3,T4 >
  18. : or_impl<
  19. BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
  20. , T2, T3, T4
  21. , false_
  22. >
  23. {
  24. };
  25. template<>
  26. struct or_impl<
  27. false
  28. , false_, false_, false_, false_
  29. >
  30. : false_
  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 = false_, typename T4 = false_, typename T5 = false_
  38. >
  39. struct or_
  40. : aux::or_impl<
  41. BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
  42. , T2, T3, T4, T5
  43. >
  44. {
  45. BOOST_MPL_AUX_LAMBDA_SUPPORT(
  46. 5
  47. , or_
  48. , ( T1, T2, T3, T4, T5)
  49. )
  50. };
  51. BOOST_MPL_AUX_NA_SPEC2(
  52. 2
  53. , 5
  54. , or_
  55. )
  56. }}