sp_zero_compare_test.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // sp_zero_compare_test.cpp - == 0, != 0
  3. //
  4. // Copyright 2012 Peter Dimov
  5. //
  6. // Distributed under the Boost Software License, Version 1.0. (See
  7. // accompanying file LICENSE_1_0.txt or copy at
  8. // http://www.boost.org/LICENSE_1_0.txt)
  9. //
  10. #include <boost/scoped_ptr.hpp>
  11. #include <boost/scoped_array.hpp>
  12. #include <boost/shared_ptr.hpp>
  13. #include <boost/shared_array.hpp>
  14. #include <boost/intrusive_ptr.hpp>
  15. #include <boost/detail/lightweight_test.hpp>
  16. struct W
  17. {
  18. };
  19. void intrusive_ptr_add_ref( W* )
  20. {
  21. }
  22. void intrusive_ptr_release( W* )
  23. {
  24. }
  25. int main()
  26. {
  27. {
  28. boost::scoped_ptr<int> p;
  29. BOOST_TEST( p == 0 );
  30. BOOST_TEST( 0 == p );
  31. BOOST_TEST( !( p != 0 ) );
  32. BOOST_TEST( !( 0 != p ) );
  33. }
  34. {
  35. boost::scoped_array<int> p;
  36. BOOST_TEST( p == 0 );
  37. BOOST_TEST( 0 == p );
  38. BOOST_TEST( !( p != 0 ) );
  39. BOOST_TEST( !( 0 != p ) );
  40. }
  41. {
  42. boost::shared_ptr<int> p;
  43. BOOST_TEST( p == 0 );
  44. BOOST_TEST( 0 == p );
  45. BOOST_TEST( !( p != 0 ) );
  46. BOOST_TEST( !( 0 != p ) );
  47. }
  48. {
  49. boost::shared_array<int> p;
  50. BOOST_TEST( p == 0 );
  51. BOOST_TEST( 0 == p );
  52. BOOST_TEST( !( p != 0 ) );
  53. BOOST_TEST( !( 0 != p ) );
  54. }
  55. {
  56. boost::intrusive_ptr<W> p;
  57. BOOST_TEST( p == 0 );
  58. BOOST_TEST( 0 == p );
  59. BOOST_TEST( !( p != 0 ) );
  60. BOOST_TEST( !( 0 != p ) );
  61. }
  62. return boost::report_errors();
  63. }