comparison.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright Aleksey Gurtovoy 2001-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. // See http://www.boost.org/libs/mpl for documentation.
  8. // $Id$
  9. // $Date$
  10. // $Revision$
  11. #include <boost/mpl/comparison.hpp>
  12. #include <boost/mpl/int.hpp>
  13. #include <boost/mpl/aux_/test.hpp>
  14. // make sure MSVC behaves nicely in presence of the following template
  15. template< typename T > struct value {};
  16. typedef int_<0> _0;
  17. typedef int_<10> _10;
  18. MPL_TEST_CASE()
  19. {
  20. MPL_ASSERT_NOT(( equal_to<_0, _10> ));
  21. MPL_ASSERT_NOT(( equal_to<_10, _0> ));
  22. MPL_ASSERT(( equal_to<_10, _10> ));
  23. }
  24. MPL_TEST_CASE()
  25. {
  26. MPL_ASSERT(( not_equal_to<_0, _10> ));
  27. MPL_ASSERT(( not_equal_to<_10, _0> ));
  28. MPL_ASSERT_NOT(( not_equal_to<_10, _10> ));
  29. }
  30. MPL_TEST_CASE()
  31. {
  32. MPL_ASSERT(( less<_0, _10> ));
  33. MPL_ASSERT_NOT(( less<_10, _0> ));
  34. MPL_ASSERT_NOT(( less<_10, _10> ));
  35. }
  36. MPL_TEST_CASE()
  37. {
  38. MPL_ASSERT(( less_equal<_0, _10> ));
  39. MPL_ASSERT_NOT(( less_equal<_10, _0> ));
  40. MPL_ASSERT(( less_equal<_10, _10> ));
  41. }
  42. MPL_TEST_CASE()
  43. {
  44. MPL_ASSERT(( greater<_10, _0> ));
  45. MPL_ASSERT_NOT(( greater<_0, _10> ));
  46. MPL_ASSERT_NOT(( greater<_10, _10> ));
  47. }
  48. MPL_TEST_CASE()
  49. {
  50. MPL_ASSERT_NOT(( greater_equal<_0, _10> ));
  51. MPL_ASSERT(( greater_equal<_10, _0> ));
  52. MPL_ASSERT(( greater_equal<_10, _10> ));
  53. }