1 // 2 // get_local_deleter_test3.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 main()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 25 struct deleter 26 { 27 }; 28 29 struct deleter2; 30 31 struct X 32 { 33 }; 34 main()35int main() 36 { 37 { 38 boost::local_shared_ptr<X> p = boost::make_local_shared<X>(); 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 return boost::report_errors(); 53 } 54 55 struct deleter2 56 { 57 }; 58 59 #endif 60