or.hpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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_ > struct or_impl
  12. {
  13. template<
  14. typename T1, typename T2, typename T3, typename T4
  15. >
  16. struct result_
  17. : true_
  18. {
  19. };
  20. };
  21. template<> struct or_impl<false>
  22. {
  23. template<
  24. typename T1, typename T2, typename T3, typename T4
  25. >
  26. struct result_
  27. : or_impl<
  28. BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
  29. >::template result_< T2,T3,T4,false_ >
  30. {
  31. };
  32. template<> struct result_< false_,false_,false_,false_ >
  33. : false_
  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 = false_, typename T4 = false_, typename T5 = false_
  42. >
  43. struct or_
  44. : aux::or_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. , or_
  51. , ( T1, T2, T3, T4, T5)
  52. )
  53. };
  54. BOOST_MPL_AUX_NA_SPEC2(
  55. 2
  56. , 5
  57. , or_
  58. )
  59. }}