1//
2// get_local_deleter_test2.cpp
3//
4// Copyright 2002, 2017 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
11#include <boost/config.hpp>
12
13#if defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) || defined( BOOST_NO_CXX11_VARIADIC_TEMPLATES )
14
15int main()
16{
17}
18
19#else
20
21#include <boost/smart_ptr/local_shared_ptr.hpp>
22#include <boost/smart_ptr/make_local_shared.hpp>
23#include <boost/core/lightweight_test.hpp>
24
25struct deleter
26{
27};
28
29struct deleter2;
30
31struct X
32{
33};
34
35int main()
36{
37 {
38 boost::local_shared_ptr<X[]> p = boost::make_local_shared<X[]>( size: 1 );
39
40 BOOST_TEST(boost::get_deleter<void>(p) == 0);
41 BOOST_TEST(boost::get_deleter<void const>(p) == 0);
42 BOOST_TEST(boost::get_deleter<int>(p) == 0);
43 BOOST_TEST(boost::get_deleter<int const>(p) == 0);
44 BOOST_TEST(boost::get_deleter<X>(p) == 0);
45 BOOST_TEST(boost::get_deleter<X const>(p) == 0);
46 BOOST_TEST(boost::get_deleter<deleter>(p) == 0);
47 BOOST_TEST(boost::get_deleter<deleter const>(p) == 0);
48 BOOST_TEST(boost::get_deleter<deleter2>(p) == 0);
49 BOOST_TEST(boost::get_deleter<deleter2 const>(p) == 0);
50 }
51
52 {
53 boost::local_shared_ptr<X[1]> p = boost::make_local_shared<X[1]>();
54
55 BOOST_TEST(boost::get_deleter<void>(p) == 0);
56 BOOST_TEST(boost::get_deleter<void const>(p) == 0);
57 BOOST_TEST(boost::get_deleter<int>(p) == 0);
58 BOOST_TEST(boost::get_deleter<int const>(p) == 0);
59 BOOST_TEST(boost::get_deleter<X>(p) == 0);
60 BOOST_TEST(boost::get_deleter<X const>(p) == 0);
61 BOOST_TEST(boost::get_deleter<deleter>(p) == 0);
62 BOOST_TEST(boost::get_deleter<deleter const>(p) == 0);
63 BOOST_TEST(boost::get_deleter<deleter2>(p) == 0);
64 BOOST_TEST(boost::get_deleter<deleter2 const>(p) == 0);
65 }
66
67 return boost::report_errors();
68}
69
70struct deleter2
71{
72};
73
74#endif
75

source code of boost/libs/smart_ptr/test/get_local_deleter_array_test2.cpp