]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/smart_ptr/test/sa_nullptr_test.cpp
2 // shared_array nullptr test
4 // Copyright 2012, 2013 Peter Dimov
6 // Distributed under the Boost Software License, Version 1.0.
7 // See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt
11 #include <boost/shared_array.hpp>
12 #include <boost/detail/lightweight_test.hpp>
16 #if !defined( BOOST_NO_CXX11_NULLPTR )
35 X
& operator=( X
const & );
43 boost::shared_array
<int> p( nullptr );
45 BOOST_TEST( p
.get() == 0 );
46 BOOST_TEST( p
.use_count() == 0 );
48 BOOST_TEST( p
== nullptr );
49 BOOST_TEST( nullptr == p
);
50 BOOST_TEST( !( p
!= nullptr ) );
51 BOOST_TEST( !( nullptr != p
) );
55 boost::shared_array
<int> p( new int[ 1 ] );
57 BOOST_TEST( p
.get() != 0 );
58 BOOST_TEST( p
.use_count() == 1 );
60 BOOST_TEST( p
!= nullptr );
61 BOOST_TEST( nullptr != p
);
62 BOOST_TEST( !( p
== nullptr ) );
63 BOOST_TEST( !( nullptr == p
) );
67 BOOST_TEST( p
.get() == 0 );
68 BOOST_TEST( p
.use_count() == 0 );
70 BOOST_TEST( p
== nullptr );
71 BOOST_TEST( nullptr == p
);
72 BOOST_TEST( !( p
!= nullptr ) );
73 BOOST_TEST( !( nullptr != p
) );
77 BOOST_TEST( X::instances
== 0 );
79 boost::shared_array
<X
> p( new X
[ 2 ] );
80 BOOST_TEST( X::instances
== 2 );
82 BOOST_TEST( p
.get() != 0 );
83 BOOST_TEST( p
.use_count() == 1 );
85 BOOST_TEST( p
!= nullptr );
86 BOOST_TEST( nullptr != p
);
87 BOOST_TEST( !( p
== nullptr ) );
88 BOOST_TEST( !( nullptr == p
) );
91 BOOST_TEST( X::instances
== 0 );
93 BOOST_TEST( p
.get() == 0 );
94 BOOST_TEST( p
.use_count() == 0 );
96 BOOST_TEST( p
== nullptr );
97 BOOST_TEST( nullptr == p
);
98 BOOST_TEST( !( p
!= nullptr ) );
99 BOOST_TEST( !( nullptr != p
) );
102 return boost::report_errors();