]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/smart_ptr/test/get_deleter_array_test2.cpp
2 // get_deleter_array_test2.cpp
4 // Copyright 2002, 2011, 2017 Peter Dimov
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)
11 #include <boost/shared_ptr.hpp>
12 #include <boost/core/lightweight_test.hpp>
22 void operator()(void *)
24 BOOST_TEST(data
== 17041);
39 boost::shared_ptr
<X
[]> p
;
41 BOOST_TEST(boost::get_deleter
<void>(p
) == 0);
42 BOOST_TEST(boost::get_deleter
<void const>(p
) == 0);
43 BOOST_TEST(boost::get_deleter
<int>(p
) == 0);
44 BOOST_TEST(boost::get_deleter
<int const>(p
) == 0);
45 BOOST_TEST(boost::get_deleter
<X
>(p
) == 0);
46 BOOST_TEST(boost::get_deleter
<X
const>(p
) == 0);
47 BOOST_TEST(boost::get_deleter
<deleter
>(p
) == 0);
48 BOOST_TEST(boost::get_deleter
<deleter
const>(p
) == 0);
49 BOOST_TEST(boost::get_deleter
<deleter2
>(p
) == 0);
50 BOOST_TEST(boost::get_deleter
<deleter2
const>(p
) == 0);
54 boost::shared_ptr
<X
[1]> p
;
56 BOOST_TEST(boost::get_deleter
<void>(p
) == 0);
57 BOOST_TEST(boost::get_deleter
<void const>(p
) == 0);
58 BOOST_TEST(boost::get_deleter
<int>(p
) == 0);
59 BOOST_TEST(boost::get_deleter
<int const>(p
) == 0);
60 BOOST_TEST(boost::get_deleter
<X
>(p
) == 0);
61 BOOST_TEST(boost::get_deleter
<X
const>(p
) == 0);
62 BOOST_TEST(boost::get_deleter
<deleter
>(p
) == 0);
63 BOOST_TEST(boost::get_deleter
<deleter
const>(p
) == 0);
64 BOOST_TEST(boost::get_deleter
<deleter2
>(p
) == 0);
65 BOOST_TEST(boost::get_deleter
<deleter2
const>(p
) == 0);
69 boost::shared_ptr
<X
[]> p(new X
[1]);
71 BOOST_TEST(boost::get_deleter
<void>(p
) == 0);
72 BOOST_TEST(boost::get_deleter
<void const>(p
) == 0);
73 BOOST_TEST(boost::get_deleter
<int>(p
) == 0);
74 BOOST_TEST(boost::get_deleter
<int const>(p
) == 0);
75 BOOST_TEST(boost::get_deleter
<X
>(p
) == 0);
76 BOOST_TEST(boost::get_deleter
<X
const>(p
) == 0);
77 BOOST_TEST(boost::get_deleter
<deleter
>(p
) == 0);
78 BOOST_TEST(boost::get_deleter
<deleter
const>(p
) == 0);
79 BOOST_TEST(boost::get_deleter
<deleter2
>(p
) == 0);
80 BOOST_TEST(boost::get_deleter
<deleter2
const>(p
) == 0);
84 boost::shared_ptr
<X
[1]> p(new X
[1]);
86 BOOST_TEST(boost::get_deleter
<void>(p
) == 0);
87 BOOST_TEST(boost::get_deleter
<void const>(p
) == 0);
88 BOOST_TEST(boost::get_deleter
<int>(p
) == 0);
89 BOOST_TEST(boost::get_deleter
<int const>(p
) == 0);
90 BOOST_TEST(boost::get_deleter
<X
>(p
) == 0);
91 BOOST_TEST(boost::get_deleter
<X
const>(p
) == 0);
92 BOOST_TEST(boost::get_deleter
<deleter
>(p
) == 0);
93 BOOST_TEST(boost::get_deleter
<deleter
const>(p
) == 0);
94 BOOST_TEST(boost::get_deleter
<deleter2
>(p
) == 0);
95 BOOST_TEST(boost::get_deleter
<deleter2
const>(p
) == 0);
100 boost::shared_ptr
<X
[]> p(x
, deleter());
102 BOOST_TEST(boost::get_deleter
<void>(p
) == 0);
103 BOOST_TEST(boost::get_deleter
<void const>(p
) == 0);
104 BOOST_TEST(boost::get_deleter
<int>(p
) == 0);
105 BOOST_TEST(boost::get_deleter
<int const>(p
) == 0);
106 BOOST_TEST(boost::get_deleter
<X
>(p
) == 0);
107 BOOST_TEST(boost::get_deleter
<X
const>(p
) == 0);
108 BOOST_TEST(boost::get_deleter
<deleter2
>(p
) == 0);
109 BOOST_TEST(boost::get_deleter
<deleter2
const>(p
) == 0);
111 deleter
* q
= boost::get_deleter
<deleter
>(p
);
114 BOOST_TEST(q
->data
== 0);
118 deleter
const * r
= boost::get_deleter
<deleter
const>(p
);
121 BOOST_TEST(r
->data
== 17041);
126 boost::shared_ptr
<X
[1]> p(x
, deleter());
128 BOOST_TEST(boost::get_deleter
<void>(p
) == 0);
129 BOOST_TEST(boost::get_deleter
<void const>(p
) == 0);
130 BOOST_TEST(boost::get_deleter
<int>(p
) == 0);
131 BOOST_TEST(boost::get_deleter
<int const>(p
) == 0);
132 BOOST_TEST(boost::get_deleter
<X
>(p
) == 0);
133 BOOST_TEST(boost::get_deleter
<X
const>(p
) == 0);
134 BOOST_TEST(boost::get_deleter
<deleter2
>(p
) == 0);
135 BOOST_TEST(boost::get_deleter
<deleter2
const>(p
) == 0);
137 deleter
* q
= boost::get_deleter
<deleter
>(p
);
140 BOOST_TEST(q
->data
== 0);
144 deleter
const * r
= boost::get_deleter
<deleter
const>(p
);
147 BOOST_TEST(r
->data
== 17041);
150 return boost::report_errors();