]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/smart_ptr/test/local_sp_fn_test.cpp
2 // local_sp_fn_test.cpp
4 // Copyright 2017 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/smart_ptr/local_shared_ptr.hpp>
12 #include <boost/weak_ptr.hpp>
13 #include <boost/core/lightweight_test.hpp>
21 template<class Y
> void operator()( Y
* ) {}
26 boost::local_shared_ptr
<void()> pf( f
, null_deleter() );
28 BOOST_TEST( pf
.get() == f
);
29 BOOST_TEST_EQ( pf
.local_use_count(), 1 );
30 BOOST_TEST( boost::get_deleter
<null_deleter
>( pf
) != 0 );
32 boost::weak_ptr
<void()> wp( pf
);
34 BOOST_TEST( wp
.lock().get() == f
);
35 BOOST_TEST_EQ( wp
.use_count(), 1 );
39 BOOST_TEST( wp
.lock().get() == 0 );
40 BOOST_TEST_EQ( wp
.use_count(), 0 );
42 return boost::report_errors();