Bug in get_deleter fixed.

[SVN r16477]
This commit is contained in:
Peter Dimov
2002-12-02 14:34:06 +00:00
parent 572a97d3c4
commit c5f7c973d9
2 changed files with 16 additions and 1 deletions

View File

@ -36,6 +36,21 @@ struct X
int main()
{
{
boost::shared_ptr<X> p;
BOOST_TEST(boost::get_deleter<void>(p) == 0);
BOOST_TEST(boost::get_deleter<void const>(p) == 0);
BOOST_TEST(boost::get_deleter<int>(p) == 0);
BOOST_TEST(boost::get_deleter<int const>(p) == 0);
BOOST_TEST(boost::get_deleter<X>(p) == 0);
BOOST_TEST(boost::get_deleter<X const>(p) == 0);
BOOST_TEST(boost::get_deleter<deleter>(p) == 0);
BOOST_TEST(boost::get_deleter<deleter const>(p) == 0);
BOOST_TEST(boost::get_deleter<deleter2>(p) == 0);
BOOST_TEST(boost::get_deleter<deleter2 const>(p) == 0);
}
{
boost::shared_ptr<X> p(new X);

View File

@ -382,7 +382,7 @@ public:
void * get_deleter(std::type_info const & ti) const
{
return pi_->get_deleter(ti);
return pi_? pi_->get_deleter(ti): 0;
}
};